108

興味深いJVMフラグが見つかりました:

java -XX:+UnlockDiagnosticVMOptions -XX:+PrintFlagsFinal -version

何百ものさまざまなオプションが印刷されますが、これまで聞いたことはありません。また、デフォルト値を出力するため、JVMの動作をより適切に診断できます。もう1つの興味深いフラグは次のとおりです。

-XX:+UnlockExperimentalVMOptions

誰かがそれらのそれぞれを説明するドキュメントを知っていますか?

4

2 に答える 2

40

-XX:+JVMCIPrintPropertiesGraalJITオプションもお見逃しなく。

ソースに飛び込む前に、以下の抜粋をざっと見て、適切なオプションをより早く見つけることができます。

https://chriswhocodes.com/(OracleJDK 6/7/8/9/10/11/12、OpenJDK 8/9/10/11、Graal CE / EE、OpenJ9、Zing)

http://jvm-options.tech.xebia.fr/

http://www.pingtimeout.fr/2012/05/jvm-options-complete-reference.html

http://stas-blogspot.blogspot.com/2011/07/most-complete-list-of-xx-options-for.html

于 2012-05-07T19:14:58.370 に答える
15

私が見つけた最高のドキュメントはソースです。

このSOQ&Aを使用して、デバッグビルドを作成しました。このデバッグビルドを使用すると、を実行できますjava -XX:+AggressiveOpts -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+PrintFlagsFinal -XX:+PrintFlagsWithComments -version

ソースのあるディレクトリから、次のように実行できます(Linux、Cygwinなどを使用していると仮定します)。

grep -FR 'UnlockExperimentalVMOptions' hotspot/

または、以下(ファイルのみを参照)*.cpp*.hpp

find hotspot/ -name '*.[ch]pp' -exec grep -F 'UnlockExperimentalVMOptions' {} +

次に、ソースファイルを確認します。おそらく、すべてのオプションを説明するドキュメントが1つもない最大の理由は、これらのオプションの一部をJVMを本当に理解している人に任せたほうがよいためです。そのための最善の方法は、ソースコードに精通することです。

だから、(ほぼ)偉大なマスターの言葉で、use the source

于 2012-05-07T18:14:03.587 に答える