1. 程式人生 > >Minor GC、Major GC和Full GC之間的區別?

Minor GC、Major GC和Full GC之間的區別?

Minor GC

Minor GC指新生代GC,即發生在新生代(包括Eden區和Survivor區)的垃圾回收操作,當新生代無法為新生物件分配記憶體空間的時候,會觸發Minor GC。因為新生代中大多數物件的生命週期都很短,所以發生Minor GC的頻率很高,雖然它會觸發stop-the-world,但是它的回收速度很快。

Major GC

Major GC清理Tenured區,用於回收老年代,出現Major GC通常會出現至少一次Minor GC。

Full GC

Full GC是針對整個新生代、老生代、元空間(metaspace,java8以上版本取代perm gen)的全域性範圍的GC。Full GC不等於Major GC,也不等於Minor GC+Major GC,發生Full GC需要看使用了什麼垃圾收集器組合,才能解釋是什麼樣的垃圾回收。
這裡寫圖片描述