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