興味深いJVMフラグが見つかりました:
Java -XX:+UnlockDiagnosticVMOptions -XX:+PrintFlagsFinal -version
それは何百ものさまざまなオプションを印刷します。また、デフォルト値を出力するため、JVMの動作をより適切に診断できます。別の興味深いフラグは次のとおりです。
-XX:+UnlockExperimentalVMOptions
誰もがそれらのそれぞれを説明するドキュメントを知っていますか?
ソースに飛び込む前に、次の抜粋をざっと読んで、適切なオプションをすばやく見つけることができます。
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
私が見つけた最高のドキュメントは ソース です。
this SO Q&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
!