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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM