JDK 13:AggressiveOptsとは何ですか?



Jdk 13 What Are Aggressiveopts



JavaVMフラグはJVM11で非推奨になりました-XX:+AggressiveOpts [見る JDK-8199777JDK-8199778 ] 'その振る舞いが不明確だからです。' JDK-8199778 「質問」セクションでさらに説明します(追加しました フォーカス ):

AggressiveOptsはとして使用されています さまざまな実験性能機能を実現包括的な方法であり、主な目的は、非常に具体的なベンチマークでスコアを向上させることです。 時間の経過とともに、影響を受けたもののほとんどが削除または統合されたため、標識の動作が未定義になり、より解決できない問題が発生しやすくなりました。 このフラグの現在の役割は、設定することだけです。 AutoBoxCacheMax = 20000BiasedLockingStartupDelay = 500 どちらも、コマンドラインで対応するフラグを設定することで手動で実行できます。



ドキュメントによると」 Java HotSpotVMオプション '、に J2SE5アップデート6 追加-XX:+AggressiveOptsフラグを「次のリリースでデフォルトのポイントパフォーマンスになると予想されるコンパイラの最適化をオンにします。」

論文' Java -XX:+ AggressiveOpts:速度が低下しますか? '詳細を確認します-XX:+AggressiveOpts VMフラグを立て、ベンチマークを比較します。 この記事の結論は次のとおりです。「古いスタイルのフラグを保持することにより、リリースされたJVMで更新されたより高速な機能を取得するメリットを減らすことができます。」



カークペッパーディンの 古い記事」 不適切なJavaHotSpotガベージコレクションサインとその修正方法を選択してください。 '排他的に-XX:+AggressiveOpts動作が不明なVMフラグの例として。 ペパーダイン Java SE 5以降、このフラグを使用する提案は変更されていないと書いています。

いつ-XX:+AggressiveOptsフラグがJDK11 Javaランチャーに渡されると、警告が表示されます。'VM警告:オプションAggressiveOptsはバージョン11.0で非推奨になり、将来のバージョンで削除される可能性があります。

画像

JDK 12-XX:+AggressiveOpts広告に示されているように削除されました( JDK-8150552 )、Javaランチャーで使用しようとした人には警告しました。 次のスクリーンショットは、この警告メッセージを示しています。 VM警告:オプションAggressiveOptsを無視します 12.0で インチ で削除されたサポート (から JDK12早期アクセスビルド #29 [[2019/1/24]で削除)。



画像

建設中のJDK13早期アクセス 、指定されている場合-XX:+AggressiveOpts 、VMは起動しません。 これを次のスクリーンショットに示します(JDK 13早期アクセスビルド#5 [2019/1/24])。

画像

上の図に示すように、指定すると-XX:+AggressiveOptsフラグを立てると、VMはJDK 13で起動できず、エラーメッセージ「認識されないVMオプション「AggressiveOpts」」が報告されます。

-XX:+AggressiveOpts署名 JDK11では非推奨 、削除されましたが、 JDK 12 警告は、指定された場合にのみ表示され、 JDK 13 指定すると削除され、VMの起動が妨げられます。

翻訳元: https://www.javacodegeeks.com/2019/01/jdk-13-aggressiveopts.html