Minor GC:從年輕代回收內存
觸發條件
一、Eden區域滿對象
二、新建立的對象大小 > Eden所剩空間內存
Full GC:清理整個堆空間,包括年輕代和老年代
觸發條件
一、每次晉升到老年代的對象平均大小>老年代剩餘空間ci
二、MinorGC後存活的對象超過了老年代剩餘空間it
三、永久代空間不足io
避免Perm Gen佔滿形成Full GC現象,可採用的方法爲增大Perm Gen空間或轉爲使用CMS GCgc
四、System.gc()方法
經過-XX:+ DisableExplicitGC來禁止RMI調用System.gc異常
五、CMS GC異常內存分配
promotion failed:MinorGC時,survivor空間放不下,對象只能放入老年代,而老年代也放不下形成vi
concurrent mode failure:GC時,同時有對象要放入老年代,而老年代空間不足形成
六、堆內存分配很大的對象
Major GC:清理老年代