Serial:新生代
最基本、发展最悠久
单线程
桌面应用
ParNew:新生代(复制算法)
多线程同时收集,缩短收集时间
Parallel Scavenge(复制算法)
复制算法
多线程同时收集
达到可控吞吐量
CPU执行用户代码时间/(CPU执行用户代码时间+垃圾回收时间)
- -XX:MaxGCPauseMillis:垃圾收集器最大停顿时间
- -XX:GCTimeRatio:吞吐量大小(0,99)
和ParNew区别:Parallel用于交互较少的服务段,ParNew用于交互较多的客户端
CMS:老年代(标记清除算法)
(并发)边制造垃圾边收集
- 工作过程
- 初始标记(并行、可达、引用判断)
- 并发标记(可达往下走)
- 重新标记(并行、标记并发过程漏掉的)
- 并发清除(清除标记,重新分配的放在一个规定的空间中)
- 优点
- 并发收集
- 低停顿
- 缺点
- 占用大量CUP资源
- 无法处理浮动垃圾’
- 出现Concurrent Mode Failure
- 空间碎片
G1收集器
- 步骤
- 初始标记
- 并发标记
- 最终标记
- 筛选回收