page contents
Nen
Nen - 程序员

性别: 天津 - 天津市 注册于 2021-06-23

向TA求助
2850金币数
43180 经验值
1个粉丝
主页被访问 6252 次

3096 个回答

0 赞同

举几个可能发生内存泄漏的情况?

1、静态集合类引起的内存泄漏; 2、当集合里面的对象属性被修改后,再调用 remove() 方法时不起作用; 3、监听器:释放对象的时候没有删除监听器; 4、各种连接:比如数据库连接(dataSourse.getConnection()),网络连接(socket) 和 IO 连接,除非其显式的调用了其 close() 方法将其连接关闭,否则是不会自动被 GC 回收...

回答于 2022-02-08 13:59

0 赞同

尽量避免内存泄漏的方法?

1、尽量不要使用 static 成员变量,减少生命周期; 2、及时关闭资源; 3、不用的对象,可以手动设置为 null。

回答于 2022-02-08 13:58

0 赞同

常用的垃圾收集算法有哪些?

1. 标记-清除算法(Mark-Sweep) 标记-清除算法采用从根集合(GC Roots)进行扫描,对存活的对象进行标记,标记完毕后,再扫描整个空间中未被标记的对象,进行回收。标记清除算法不需要进行对象的移动,只需对不存活的对象进行处理,在存活对象比较多的情况下极为高效,但由于标记-清除算法直接回收不存活的对象,因此会造...

回答于 2022-02-08 13:57

0 赞同

为什么要采用分代收集算法?

分代的垃圾回收策略,是基于这样一个事实:不同的对象的生命周期是不一样的。因此,不同生命周期的对象可以采取不同的收集方式,以便提高回收效率。 在 Java 程序运行的过程中,会产生大量的对象,其中有些对象是与业务信息相关,比如 Http 请求中的 Session 对象、线程、Socket 连接,这类对象跟业务直接挂钩,因此生命周...

回答于 2022-02-08 13:56

0 赞同

分代收集下的年轻代和老年代应该采用什么样的垃圾回收算法?

1、年轻代(Young Generation)的回收算法 (主要以 Copying 为主) 1. 所有新生成的对象首先都是放在年轻代的。年轻代的目标就是尽可能快速的收集掉那些生命周期短的对象。 2. 新生代内存按照 8:1:1 的比例分为一个 eden 区和两个 survivor(survivor0、 survivor1)区。大部分对象在 Eden 区中生成。回收时先将 Eden区存...

回答于 2022-02-08 13:55

0 赞同

什么是浮动垃圾?

由于在应用运行的同时进行垃圾回收,所以有些垃圾可能在垃圾回收进行完成时产生,这样就造成了“Floating Garbage”,这些垃圾需要在下次垃圾回收周期时才能回收掉。所以,并发收集器一般需要20%的预留空间用于这些浮动垃圾。

回答于 2022-02-08 13:52

0 赞同

什么是内存碎片?如何解决?

由于不同 Java 对象存活时间是不一定的,因此,在程序运行一段时间以后,如果不进行内存整理,就会出现零散的内存碎片。碎片最直接的问题就是会导致无法分配大块的内存空间,以及程序运行效率降低。所以,在上面提到的基本垃圾回收算法中,“复制”方式和“标记-整理”方式,都可以解决碎片的问题。

回答于 2022-02-08 13:47

0 赞同

常用的垃圾收集器有哪些?

1. Serial 收集器(复制算法) 新生代单线程收集器,标记和清理都是单线程,优点是简单高效。是 client 级别默认的 GC 方式,可以通过 -XX:+UseSerialGC 来强制指定。 2. Serial Old 收集器(标记-整理算法) 老年代单线程收集器,Serial 收集器的老年代版本。 3. ParNew 收集器(停止-复制算法) 新生代收集器,可以认...

回答于 2022-02-08 13:42

0 赞同

堆和栈的区别是什么?

堆和栈(虚拟机栈)是完全不同的两块内存区域,一个是线程独享的,一个是线程共享的。二者之间最大的区别就是存储的内容不同:堆中主要存放对象实例。栈(局部变量表)中主要存放各种基本数据类型、对象的引用。 从作用来说,栈是运行时的单位,而堆是存储的单位。栈解决程序的运行问题,即程序如何执行,或者说如何处理数...

回答于 2022-01-27 14:08

0 赞同

堆中存什么?栈中存什么?

堆中存的是对象。栈中存的是基本数据类型和堆中对象的引用。一个对象的大小是不可估计的,或者说是可以动态变化的,但是在栈中,一个对象 只对应了一个 4btye 的引用(堆栈分离的好处)。 为什么不把基本类型放堆中呢? 因为基本数据类型占用的空间一般是1~8个字节,需要空间比较少,而且因为是基本类型,所以不会出现动...

回答于 2022-01-27 14:07