JVM 11中已弃用Java VM标志-XX:+AggressiveOpts
[请参见JDK-8199777和JDK-8199778 ]“因为其行为是不明确的。” JDK-8199778的“问题”部分进一步说明了(我添加了重点 ):
AggressiveOpts已被用作实现各种实验性能功能的包罗万象的方法,主要目的是提高非常特定的基准上的分数 。 随着时间的流逝,它受影响的大多数事物都已被删除或集成,从而导致该标志的行为定义不清,并容易引起更多无法解决的问题。 该标志当前具有的唯一作用是设置AutoBoxCacheMax = 20000和BiasedLockingStartupDelay = 500 。 两者都可以通过在命令行上设置相应的标志来手动完成。
根据文档“ Java HotSpot VM Options ”,在J2SE 5 Update 6中添加了-XX:+AggressiveOpts
标志,以“打开预期在即将发布的版本中默认的点性能编译器优化”。
文章“ Java的-XX:+ AggressiveOpts:它会使您减速吗? ”将详细检查-XX:+AggressiveOpts
VM标志,并进行一些基准比较。 本文的结论是:“通过保留旧式标志,可以减少在已发布的JVM中获得更新,更快的功能的好处。”
柯克·佩珀代因(Kirk Pepperdine)的一篇更老的文章“ 选择不当的Java HotSpot垃圾收集标志以及如何修复它们! ”专门调出-XX:+AggressiveOpts
作为行为未知的VM标志的示例。 Pepperdine写道,自Java SE 5以来,使用此标志的建议并未更改。
当将-XX:+AggressiveOpts
标志传递给JDK 11 Java启动器时,将显示警告:“ VM警告:选项AggressiveOpts在版本11.0中已弃用,并且可能在以后的版本中删除。”
在JDK 12中 , -XX:+AggressiveOpts
已如广告所示被删除( JDK-8150552 ),并且向任何试图与Java启动器结合使用的人发出了警告。 下一个屏幕快照显示此警告消息,指出:“ VM警告:忽略选项AggressiveOpts; 在12.0英寸中删除了支持 (从JDK 12 Early Access Build #29 [2019/1/24]中删除)。
在JDK 13 Early Access构建中 ,如果指定了-XX:+AggressiveOpts
,则VM将不会启动。 这显示在下一个屏幕快照中(JDK 13 Early Access Build#5 [2019/1/24])。
如上图所示,当指定-XX:+AggressiveOpts
标志时,VM无法在JDK 13中启动,并且报告错误消息“无法识别的VM选项'AggressiveOpts'。”
-XX:+AggressiveOpts
标志在JDK 11中已弃用 ,已删除,但仅在JDK 12中指定时才显示警告,并且在JDK 13中指定时被删除并阻止VM启动。
翻译自: https://www.javacodegeeks.com/2019/01/jdk-13-aggressiveopts.html