这篇文章篇幅不长,主要目的是帮助大家梳理和理解几个概念。
在阅读之前的文章时,大家可能会注意到,文章中出现了很多名词:Minor GC、Young GC、Full GC、Old CG、Major GC和Mixed GC。有些同学可能对这些概念感到混淆,不确定这些各种类型的GC到底指的是什么。
在面试中,这些名词也会经常被提及,面试官可能会测试你对这结名词的理解。但是,有可能会出现你的理解和面试官的理解存在差异,所以在面试的时候回答此类问题,一定要对一个名词可能有的多种不同的理解都给出说明,避免双方理解的歧义。
总的来说,这篇文章的目的是帮助大家更好地理解这些关于垃圾回收(GC)的名词,以便在实际工作和面试中能够更好地应用。
-
Minor GC / Young GC
这两个术语是等价的,用于描述在JVM的新生代(也称为年轻代)中的垃圾回收过程。当新生代的Eden区域被填满时,就会触发针对该代的垃圾回收,即所谓的Minor GC或Young GC。 -
Full GC vs Old GC
之前我们提到,当老年代被填满后,会触发针对老年代的垃圾回收,这种垃圾回收被称为Full GC。可能有些同学认为老年代的垃圾回收应该称为Old GC,因为这个名字更直接地反映了其作用范围。为了更准确地表达这个概念,后面将把老年代的垃圾回收统一称为Old GC,以避免混淆。 -
Full GC
这个术语更准确地描述了针对JVM中新生代、老年代和永久代的整体内存空间的垃圾回收。因此,Full GC是对整个JVM进行一次全面的垃圾回收,清理各个内存区域的垃圾。 -
Major GC
有些人