付録 チューニングフラグの概要
この付録では、よく使われるフラグを取り上げ、どのような場合に使うべきかを指 摘する。ここでよく使われるフラグには、旧バージョンのJavaでよく使われ、もはや推奨されていないフラグも含まれる。旧バージョンのJavaのドキュメントやTipsでは、それらのフラグが推奨されている場合があるので、ここで紹介している。
| フラッグ | 何をするのか | いつ使うか | こちらも参照のこと。 |
|---|---|---|---|
|
このフラグはもはや何の効果もなく、黙って無視される。 |
該当なし |
|
|
このフラグはもはや何の効果もなく、黙って無視される。 |
該当なし |
|
|
ティアード・コンピレーションを採用している。 |
メモリの制約が厳しくない限り、常にそうだ。 |
|
|
JITコンパイラによってコンパイルされたコード用にスペースを確保する。 |
大規模なプログラミングを実行しているとき、コードキャッシュが不足しているという警告が表示される。 |
|
|
JITコンパイラによってコンパイルされたコードの初期スペースを確保する。 |
コードキャッシュ用のメモリを事前に確保する必要がある場合(これは珍しいことだ)。 |
|
|
メソッドやループをコンパイルする前に実行する回数をセットする。 |
このフラグはもはや推奨されない。 |
|
|
JITコンパイラによる演算子のログを提供する。 |
重要なメソッドがコンパイルされていないと疑ったり、一般的にコンパイラが何をしているのか気になったりするときだ。 |
|
|
JITコンパイラが使用するスレッド数をセットする。 |
あまりにも多くのコンパイラ・スレッドが起動されている場合。これは主に、多数のJVMを実行している大型マシンに影響する。 |
|
|
コンパイラによる積極的な最適化を有効にする。 |
まれに、これがクラッシュの引き金になることがあるので、無効にすることが推奨されることもある。まれにクラッシュの引き金になることがあるので、無効にしておくことが推奨されることもある。 |
|
|
インテル・プロセッサーで使用する命令セットをセットする。 |
Java11の初期バージョンでは、これを2にセットする必要がある。それ以降のバージョンでは、デフォルトで2に設定されている。 |
|
|
指定されたライブラリを先取りコンパイルに使用する。 |
限られた場合だが、初期化プログラムの実行を高速化できるかもしれない。Java 11でのみ実験的である。 |
| フラッグ | 何をするのか | いつ使うか | こちらも参照のこと。 |
|---|---|---|---|
|
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access