|
ZGC大堆Java垃圾回收器可能会开源
投票截止到11月8日,批准项目请求,可以与红帽的Shenandoah竞争
面向大堆的Oracle开发的低延迟Java垃圾收集器可能会转移到开源社区,如果这样做的提案得到社区的批准。投票截止到十一月八号。
被称为Z垃圾收集器(ZGC),该项目旨在支持多字节堆,暂停时间不超过10毫秒,与G1垃圾收集器相比,不超过15%的应用程序降低吞吐量。
但根据Oracle的HotSpot虚拟机团队成员Per Liden在OpenJDK邮件列表中提出的建议,ZGC的开发人员并不认为这些目标是每个工作负载的“硬要求”。 Liden的建议要求创建一个ZGC项目,他将以HotSpot集团为赞助商。
使用ZGC,可以在运行应用程序线程的同时执行诸如对象加载的操作。 ZGC执行包括标记,参考处理和重定位/压缩的任务。剩余的任务,包括卸载和弱根处理,并发。
ZGC的核心设计原则是使用负载障碍物和彩色物体指针。在Java对象中加载引用字段对象的行为受到负载障碍;彩色对象指针具有负载屏障使用的信息,以确定在允许Java线程使用指针之前是否必须采取措施。 Liden表示,彩色指针在重定位和压缩阶段允许回收和重新使用内存,指针指向回收区域的指针已被修复。这有助于保持一般堆积的开销。
ZGC项目的一些工作已经在别的地方找到了一个用例,其中包括一个atomics重写和一个垃圾回收障碍API。
ZGC可以与Red Hat的Shenandoah Java垃圾收集项目争取关注,该项目也适用于大型堆栈应用。
|
|