web-dev-qa-db-ja.com

Java.awt.headless = trueを設定する利点は何ですか?

私は経験した

  1. Java.awt.headless = trueをプログラムで設定
  2. http://www.Oracle.com/technetwork/articles/javase/headless-136834.html および
  3. 他のリンクもあります。

このフラグを使用する利点については説明されていません。

パフォーマンス上のメリットはありますか?はいの場合、大まかなquntizationでさえ、どれくらいのパフォーマンスの利点がありますか? (パフォーマンスに関する質問への回答はケースバイケースに完全に依存することを知っていますが、誰かがこれを行うことで良い利益を報告したかどうかを知ることは素晴らしいことです)。

18
user2250246

ヘッドレスモードと非ヘッドレスモードは異なり、機能が異なります。フォントレンダリングなどの簡単な操作だけが必要な場合は、ヘッドレスモードで実行できます。

いつでもJDKソースのガットをチェックして、非ヘッドレスモードに依存するメソッドを自分で確認できます。しかし、私の意見では、パフォーマンスの向上がごくわずかであっても、とにかくJava.awt.headlessを渡すことをお勧めします(「フル」GUIモードが必要ない場合)。

すべてのベンダーがこのプロパティを使用できます。完全なGUIがあれば、彼らが何かをするかどうかはわかりません。したがって、私の経験則では、コンソールアプリとサーバーには常にJava.awt.headlessを使用します。害はありません。

11
BaRoN

考えられる利点の1つは、ウィンドウ内で別の操作を試みながらアプリケーションを複数回呼び出している場合、アプリケーションがヘッドレスモードで実行されていてもキーボード/マウスフォーカスが中断されないことです。

少なくともMacでは、別のウィンドウで編集しようとしているときに、数秒ごとにJavaアプリを繰り返し実行するスクリプトを実行する際に大きな問題が発生しました。

1
C. Grant