Minor GC、Major GC、Full GC
生活随笔
收集整理的這篇文章主要介紹了
Minor GC、Major GC、Full GC
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
一、年輕代
年輕代是所有新對象產生的地方。當年輕代內存空間被用完時,就會觸發垃圾回收。這個垃圾回收叫做Minor GC。年輕代被分為3個部分——Enden區和兩個Survivor區。
- 年輕代空間的要點:
- 大多數新建的對象都位于Eden區。
- 當Eden區被對象填滿時,就會執行Minor GC。并把所有存活下來的對象轉移到其中一個survivor區。
- Minor GC同樣會檢查存活下來的對象,并把它們轉移到另一個survivor區。這樣在一段時間內,總會有一個空的survivor區。
- 經過多次GC周期后,仍然存活下來的對象會被轉移到年老代內存空間。通常這是在年輕代有資格提升到年老代前通過設定年齡閾值(默認15次)來完成的。
二、 年老代
年老代內存里包含了長期存活的對象和經過多次Minor GC后依然存活下來的對象。通常會在老年代內存被占滿時進行垃圾回收。
三、Major GC
老年代的垃圾收集叫做Major GC,Major GC通常是跟full GC是等價的,收集整個GC堆。Minor GC和Major GC其實就是年輕代GC和年老年GC的俗稱。而在Hotspot VM具體實現的收集器:Serial GC, Parallel GC, CMS, G1 GC中,大致可以對應到某個Young GC和Old GC算法組合。
三、分代GC
針對HotSpot VM的實現,其實GC的準確分類可以分為:
其實后續的G1的分區收集本質其實還是一個分代收集器,但是和之前的各類回收器不同,它同時兼顧年輕代和老年代。分代GC并不收集整個GC堆的模式,而是只專注分代收集
四、何時觸發Full GC
總結
以上是生活随笔為你收集整理的Minor GC、Major GC、Full GC的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 2020智慧零售行业研究报告
- 下一篇: HR不会告诉你的薪资谈判技巧