jep表达式分析器
随着2018年9月Java 11的发布,Z Garbage Collector作为实验功能被集成到JDK中。 现在,随着两年后Java 15即将发布,JEP所有者Per Liden建议将ZGC变成生产功能。
JEP 377:使ZGC成为生产功能
Per Linden在JEP 377中写道:“借助ZGC如今拥有的稳定性,功能集和平台支持,现在是时候取消其试验状态并使其成为产品功能。”
JEP 333将Z垃圾收集器集成到Java开发套件中。 从那时起,ZGC收到了许多错误修复,功能和增强。 这些措施包括并发类卸载,取消使用未使用的内存(JEP 351) ,将最大堆大小从4TB增加到16TB,并将最小堆大小减小到8MB。 其他重要的亮点是-XX:SoftMaxHeapSize
,对JFR泄漏分析器的支持,对类数据共享的支持,有限和不连续的地址空间,对将堆放置在NVRAM上的支持,改进的NUMA意识以及多线程堆预触。
此外,ZGC现在支持最常用的平台:Linux / x86_64(在JDK 11中与ZGC一起添加),Linux / aarch64(在JDK 12中添加)以及Windows和macOS (在JDK 14中最近添加)。
考虑到所有这些,Linden说,是时候让ZGC成为JDK的生产功能了。
还请参见:
JEP 377:将实验性Java功能投入生产
作为实验功能,必须使用-XX:+UnlockExperimentalVMOptions
选项启用-XX:+UnlockExperimentalVMOptions
。 将ZGC更改为生产功能将删除此步骤,从而可以在不启用实验功能的情况下使用UseZGC
命令。 此外,以下特定于ZGC的选项也将从实验更改为产品:
-
ZAllocationSpikeTolerance
-
ZCollectionInterval
-
ZFragmentationLimit
-
ZMarkStackSpaceLimit
-
ZProactive
-
ZUncommit
-
ZUncommitDelay
其他必要的更改包括特定于ZGC的Java Flight Recorder事件ZPageAllocation
,需要将其从实验更改为产品,并且某些测试必须进行调整。 这是因为当启用ZGC时,它们当前使用UnlockExperimentalVMOptions
命令行选项,并且一旦垃圾收集器成为产品功能,就不再需要。
还请参见:
在撰写本文时,建议将JEP 377定位于JDK15。 在此处阅读JEP 377或查看邮件列表中发生的垃圾收集器开发讨论。
翻译自: https://jaxenter.com/java-jep-377-zgc-production-170389.html
jep表达式分析器