垃圾收集器简介

image-20250810161918568

Serial 收集器

串行(单线程)收集器,进行垃圾收集时,需要暂停所有的用户线程。

采用复制算法

Parallel收集器

并行(多线程)收集器。

Parallel的目标是达到一个可控制的吞吐量。

  • Parallel Scavenge(新生代):复制算法
  • Parallel Old(老年代):标记整理法

ParNew收集器

并行收集器,新生代,复制算法。

尽可能缩短垃圾收集时用户线程的停顿时间。

唯一可以与CMS配合的新生代收集器。

CMS收集器

并发,标记-清除。

G1

复制算法。

将堆内存拆分成大小为 1MB 到 32MB 的 Region 块,Region 在逻辑上可以自由组合形成各个分代。

以 Region 为单位自由地组合成新生代、老年代、Eden 区、Survivor 区和大对象区(Humongous Region)等。随着垃圾回收和对象分配的进行,每个 Region 也不会一直固定属于某个分代,它们可以随时扮演任何一个分代区域的内存角色。

G1里面会维护一个Collect Set集合。这个集合记录了待回收的 Region 块的信息

ZGC收集器

JDK11引入,标记-清除

  • 极低的垃圾回收停顿时间;

  • 可预测性;

  • 适用于大内存堆。

相关文章

开始在上面输入您的搜索词,然后按回车进行搜索。按ESC取消。

返回顶部