来源:oschina
前不久 OpenJDK 的邮件列表显示,Oracle 的 Per Liden 提议将 Z 垃圾收集器开源,并在 OpenJDK 创建 ZGC 项目。
根据 OpenJDK 的指南,该项目将托管 Z 垃圾收集器,然后不断开发完善,并将其称为 ZGC。ZGC是一个并发的、以区域(region)为基础的、增量式压缩的收集器。Stop-The-World 阶段仅限于根对象扫描(root scanning)阶段发生,这意味着 GC 暂停时间不会随着堆或活动集的大小而增加。
ZGC 的设计思路如下:
处理 TB 量级的堆;
GC 时间不超过 10ms;
相对于使用 G1,应用吞吐量的降低不超过 15%
相关工作人员表示完全有信心实现上述目标。并且,在一些著名的业界标准基准测试中,ZGC 已经达到或超过该目标了。
目前,ZGC 已经趋于稳定,但仍有许多工作要做。ZGC 或并发执行以下 GC 任务/阶段:
标记(Marking)
引用处理(Reference processing)
重新分配集的选择(Relocation set selection)
重分配/压缩(Relocation/Compaction)
现在,团队的主要任务就是将其他的 GC 任务/阶段也变成并发执行。
该项目的初始源码将基于 JDK 10 库,并基于 ZGC 补丁集构建。JDK 10 父仓库的变动将会同步到 ZGC 中。
关于该计划的详细内容,请查看英语原文。

