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