JDK1.8默认使用Parallel Scavenge作为年轻代的垃圾回收器,使用Parallel Old作为老年代的垃圾回收器,又称为PS MarkSweep。
Parallel Scavenge 收集器
Parallel Scavenge收集器又称为吞吐量优先收集器,和ParNew收集器类似,是一个新生代收集器。使用复制算法的并行多线程收集器。Parallel Scavenge是Java1.8默认的收集器,特点是并行的多线程回收,以吞吐量优先。
使用场景
Parallel Scavenge收集器的高吞吐量可以最高效率的利用CPU时间,尽快的完成程序的运算任务等,主要适合在后台运算而不是太多交互的任务(其不适合需要与用户交互的程序,良好的响应速度能提升用户的体验,此种场景CMS效果更好)。
Parallel Old 收集器
Parallel Old 收集器是Parallel Scavenge 收集器的老年代版本,使用多线程和“标记-整理”算法。
JVM中指定垃圾收集器的参数设定
默认如上所属使用Parallel Scavenge和Parallel Old作为年轻代和老年代的垃圾回收器。如果要更换可以根据下面参数设定:
-XX:+UseConcMarkSweepGC 表示开启cms垃圾回收器。 打开后会使用ParNew和CMS分别作为年轻代和老年代的垃圾回收器