对于新生代
1. Serial单线程
2. ParNew多线程版本的Serial
3. Parallel Scavenge 和ParNew类似
都是多线程版本,但是强调吞吐量
吞吐量=运行总时间 除以 垃圾收集的时间
对于老年代
4. Serial Old 单线程
5. Parallel Old 是PS的老年代收集版本
6. CMS 获取最短回收停顿时间为目标
使用标记清除算法,会产生大量的碎片空间
- 初始标记
- 并发标记
- 重新标记
- 并发清除
7. G1
把内存空间分为了不同独立的区域,每个区域用整理算法,不同的区域用复制算法
1. 初始标记
2. 并发标记
3. 最终标记
4. 筛选回收