垃圾收集器
| 垃圾收集器 | 串行/并行/并发 | 新生代/老年代 | 算法 | 目标 | 适用场景 |
|---|---|---|---|---|---|
| Serial | 串行 | 新生代 | 复制算法 | 响应速度优先 | 单CPU环境下的Client模式 |
| Serial Old | 串行 | 老年代 | 标记-整理 | 响应速度优先 | 单CPU环境下的Client模式、CMS的后备预案 |
| ParNew | 并行 | 新生代 | 复制算法 | 响应速度优先 | 多CPU环境下在Server模式下与CMS配合 |
| Parallel Scavenge | 并行 | 新生代 | 复制算法 | 吞吐量优先 | 在后台运算而不需要太多交互任务 |
| Parallel Old | 并行 | 老年代 | 标记整理 | 吞吐量优先 | 在后台运算而不需要太多交互任务 |
| CMS | 并发 | 老年代 | 标记-清除 | 响应速度优先 | 集中在互联网网站或者基于浏览器的B/S系统的服务端上的Java应用 |
| G1 | 并发 | Both | 标记-整理+复制算法 | 响应速度优先 | 面向服务端应用,将来替换CMS |
| Shenandoah | 并发 | Both | 标记-整理+复制算法 | 低延迟 | |
| ZGC | 并发 | Both | 标记-整理+复制算法 | 低延迟 |