26.1、前文回顾
本文篇幅较短,是对上篇文章的延续。主要目的是梳理和阐述一些核心概念和术语。
在上文中,我们已经解释了Young GC、Old GC和Full GC这几个概念。现在,大家应该已经明白,如果我们用一个明确的方法来定义这些术语,那么Young GC可以被视为年轻代的垃圾回收(GC),Old GC则是老年代的垃圾回收,而Full GC则是对年轻代、老年代和永久代进行的整体垃圾回收。
然而,还有一些其他术语与它们有交叉的含义。例如,Minor GC也可以被称为Young GC,Major GC也可以被称为Old GC。有些人将Major GC和Full GC等同起来,也有些人将Full GC和Old GC等同起来。实际上,这些概念在国内的混淆程度还是相当严重的。
因此,当我们在与他人讨论各种垃圾回收(GC)术语时,一定要明确他到底指的是什么!
对我们而言,之前我简单地使用Minor GC来指代年轻代的垃圾回收,使用Full GC来指代老年代的垃圾回收。
但是,既然我们现在已经理清了各种概念,那么我们将统一使用Young GC来指代年轻代的垃圾回收,使用Old GC来指代老年代的垃圾回收,使用Full GC来指代涉及年轻代、老年代和永久代的共同垃圾回收。
26.2、Young GC的触发时机
在之前的文章中,我们已经非常清晰地分析了Young GC的触发机制。实际上,当新生代的Eden区域被填满时,Young GC便会被触发。这是通过采用复制算法来回收新生代的垃圾实现的。