Minor GC&Full GC&Major GC区别及触发条件

Minor GC:从年轻代回收内存
触发条件
1、Eden区域满
​ 2、新创建的对象大小 > Eden所剩空间

Full GC:清理整个堆空间,包括年轻代和老年代
触发条件
​ 1、每次晋升到老年代的对象平均大小>老年代剩余空间
​ 2、MinorGC后存活的对象超过了老年代剩余空间
​ 3、永久代空间不足
​ 避免Perm Gen占满造成Full GC现象,可采用的方法为增大Perm Gen空间或转为使用CMS GC
​ 4、System.gc()
​ 通过-XX:+ DisableExplicitGC来禁止RMI调用System.gc
​ 5、CMS GC异常
​ promotion failed:MinorGC时,survivor空间放不下,对象只能放入老年代,而老年代也放不下造成
​ concurrent mode failure:GC时,同时有对象要放入老年代,而老年代空间不足造成
6、堆内存分配很大的对象

Major GC:清理老年代

上一篇:tp框架下的二级联动


下一篇:外设驱动程序设计