1、Serial(串行) 收集器
特点:只有一条垃圾收集线程去回收垃圾,工作时需要暂停其他所有的工作线程。
采用算法:新生代采用复制算法,老年代采用标记-整理算法。
2、ParNew 收集器
特点:ParNew收集器就是Serial的多线程版本。
采用算法:新生代采用复制算法,老年代采用标记-整理算法。
3、 Parallel Scavenge 收集器(JDK1.8默认收集器)
特点:可以通过参数来控制吞吐量,吞吐量=程序运行时间/(程序运行时间+垃圾回收用的时间)
参数:-XX:MaxGCPauseMillis=nnn 设置垃圾回收用的时间(毫秒数)
-XX:GCTimeRatio=nnn 精准控制吞吐量 nnn是大于0小于100的整数
采用算法:新生代采用复制算法,老年代采用标记-整理算法。
这里UseParallelGC 相当于 Parallel Scavenge + Parallel Old