Serial和Serial Old
JDK诞生的第一组垃圾回收器就是Serial和Serial Old。
Serial工作在年轻代,使用标记-复制的回收算法,它是单线程的垃圾回收器
Serial Old工作在老年代,使用标记-整理的回收算法,它也是单线程的垃圾回收器
使用Serial+Serial Old:-XX:+UseSerialGC=Serial+SerialOld
当垃圾回收器工作时所有业务线程都会停止运行,也就是说业务线程工作一段时间垃圾回收工作一段时间,这个业务线程停顿的过程就是STW。
Parallel Scavenge和Parallel Old
由于Parallel Scavenge和Parallel Old经常一起使用,也被简称为PS+PO,JDK默认的垃圾回收器组合就是这个。
Parallel Scavenge简称PS,使用标记-复制的回收算法,它是多线程的垃圾回收器
Parallel Old简称PO,使用标记-整理的回收算法,它也是多线程的垃圾回收器
使用PS+PO:-XX:+UseParallelGC=ParallelScavenge+ParallelOld
PS+PO和Serial+Serial Old的取别在于PS+PO是多线程的垃圾回收器,减少了STW的停顿时间