java中的垃圾回收机制常见问题

2017-08-20  本文已影响0人  风起天蓝

Minor GC是发生在新生代中的垃圾收集动作,采用的是复制算法。

Full GC是发生在老年代的垃圾收集动作,采用的是标记-清除/整理算法。

1、什么时候发生minor gc ?

当Eden区满时,触发Minor GC。

2、什么时候发生full gc/ major gc?

(1)调用System.gc时,系统建议执行Full GC,但是不必然执行
(2)老年代空间不足
(3)方法去空间不足
(4)通过Minor GC后进入老年代的平均大小大于老年代的可用内存
(5)由Eden区、From Space区向To Space区复制时,对象大小大于To Space可用内存,则把该对象转存到老年代,且老年代的可用内存小于该对象大小.

3、stop the world 发生时间?

gc 均会发生STW。

4、标记清除算法的根有哪些?

1. 虚拟机栈引用的对象
2. 本地方法栈引用的对象
3. 方法区中静态属性引用的对象
4. 方法区中常量引用的对象

上一篇 下一篇

猜你喜欢

热点阅读