JVM 垃圾收集器,种类

垃圾收集器 所属代:新生代、老年代 使用算法(新生代都使用复制算法) 单线程 或 多线程 备注
Serial 新生代 标记-复制 单线程
Serial Old 老年代 标记-整理 单线程 Serial Old 是 Serial 收集器的老年代版本
ParNew 新生代 标记-复制 多线程 ParNew 收集器是 Serial 收集器的多线程版本
Parallel Scavenge 新生代 标记-复制 多线程 更关注吞吐量
Parallel Old 老年代 标记-整理 多线程 Parallel Old 是 Parallel Scavenge 收集器的老年代版本;
更关注吞吐量
CMS(Concurrent Mark Sweep) 老年代 标记-清除 多线程
Garbage First(简称 G1) 标记-复制、标记-整理 与其他收集器一样,分代概念在 G1 中依然得以保留。
虽然 G1 可以不需要其他收集器配合,就能独立管理整个 GC 堆,但它能够采用不同的方式去处理新创建的对象和已经存活了一段时间、熬过多次 GC 的旧对象以获取更好的收集效果。
G1 将整个 Java 堆划分为多个大小相等的独立区域(Region),虽然还保留有新生代和老年代的概念,但新生代和老年代不再是物理隔离的了,它们都是一部分 Region(不需要连续)的集合。

Shenandoah
ZGC(Z Garbage Collector) 标记-整理
PGC(Pauseless GC)
C4(Concurrent Continuously Compacting Collector)

posted on 2020-02-20 15:11  cag2050  阅读(143)  评论(0编辑  收藏  举报

导航