垃圾收集器 | 串行/并行/并发 | 新生代/老年代 | 算法 | 目标 | 适用场景 |
---|---|---|---|---|---|
Serial | 串行 | 新生代 | 复制 | 低延迟优先 | 单 CPU 环境下的 Client 模式 |
Serial Old | 串行 | 老年代 | 标记-整理 | 低延迟优先 | 单 CPU 环境下的 Client 模式、CMS 的后备预案 |
Parllel Scavenge | 并行 | 新生代 | 复制 | 吞吐量优先 | 在后台运算而不需要太多交互的业务 |
Parallel Old | 并行 | 老年代 | 标记-整理 | 吞吐量优先 | 在后台运算而不需要太多交互的业务 |
ParNew | 并行 | 新生代 | 复制 | 低延迟优先 | 多 CPU 环境下,在 Server 模式与 CMS 配合使用 |
CMS | 并发 | 老年代 | 标记-清除 | 低延迟优先 | 内存不大的 Java 应用 |
G1 | 并发 | both | 标记-整理+复制 | 低延迟优先 | 大内存的 Java 应用 |