Minor GC&Full GC&Major GC區別及觸發條件

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:清理老年代

相關文章
相關標籤/搜索