解释一下什么是Young GC和Full GC?
1、Minor GC / Young GC
Minor GC / Young GC,这个非常好理解,新生代”也可以称之为“年轻代”,这两个名词是等价的。那么在年轻代中的Eden内存区域被占满之后,实际上就需要触发年轻代的gc,或者是新生代的gc
此时这个新生代gc,其实就是所谓的“Minor GC”,也可以称之为“Young GC”,这两个名词,相信大家就理解了,说白了,就专门针对新生代的gc。
2、Full GC?Old GC?傻傻分不清楚
在 JVM 中,Old GC(Old Generation Garbage Collection)是指对老年代(Old Generation)内存区域进行的垃圾收集。老年代主要存放生命周期较长、从新生代晋升的对象。Old GC 的主要目标是回收老年代中不再使用的对象,以释放内存空间。
3、Full GC
对于Full GC,其实这里有一个更加合适的说法,就是说Full GC指的是针对新生代、老年代、永久代的全体内存空间的垃圾回收,所以称之为Full GC。
4、Major GC
触发条件:当老年代内存空间不足时会触发 Major GC。这通常是因为对象从新生代晋升到老年代后,老年代的可用空间不足以容纳更多对象。
目标:清理老年代的垃圾对象,回收老年代的内存空间。
影