就像JEP 377中的ZGC一样, JEP 379中的提议是将Shenandoah垃圾收集器从试验性推广到生产。
Java的Shenandoah垃圾收集器
Shenandoah是由JEP 189引入JDK 12的,它被描述为垃圾收集器,“它通过与正在运行的Java线程同时进行疏散工作来减少GC的暂停时间。 Shenandoah的暂停时间与堆大小无关,这意味着无论堆是200 MB还是200 GB,您都将具有相同的一致暂停时间。”
还请参见:
与近年来引入JDK的其他垃圾收集器一样,例如Epsilon GC和ZGC,Shenandoah被标记为实验性的。 但是,现在JEP所有者Aleksey Shipilev提出,现在该让Shenadoah失去“实验性”绰号,并成为Java 15的生产功能了。
当前,使用-XX:+UnlockExperimentalVMOptions
和-XX:+UseShenandoahGC
命令选项启用了Shenandoah。 将其更改为生产将意味着不再需要-XX:+UnlockExperimentalVMOptions
。 Shipilev还指出,与雪兰多亚相关的几个标志也将变为“产品”,而不是“实验性”,但是由于默认值不会有任何不同,因此更改将主要是装饰性的。 他还写道:
在将其集成到JDK 12中时,Shenandoah已经在Red Hat 8u和11u下游发行版中作为受支持的垃圾收集器发布,并已由RHEL和RHEL下游用户使用。 因此,雪兰多8u和雪兰多11u已经是非实验性的,因此不受此更改的影响。 由于只有少数用户运行8u和11u以外的内容,因此我们希望此更改的实际影响很小。
还请参见:
JEP 379的目标对象是JDK 15,因此在9月,Shenandoah将成为生产功能。 同时,请密切注意我们的Java 15新闻更新 。
翻译自: https://jaxenter.com/jep-379-shenandoah-production-170755.html