使用多线程进行垃圾回收,在回收时应用程序需要暂停,新生代通常采用复制算法,老生代通常采用标记压缩算法。并行回收的执行过程如图1-2所示。
在并发回收时,如果发现内存不足,需要对整个堆进行垃圾回收(也就是我们常说的Full GC,也称为FGC),在Full GC时需要STW,并且是串行回收。
图1-2 并行回收 O2IavvMHw9sZaTXt0hPQ2AoF1myiju6Zd71nNTm7fR/KGhV2gtnTfULHilWMsiDH