-server
SunHotSpotJVMを起動するときにオプションを渡すことの正確な効果に関する明確なドキュメントが見つかりません。
誰かがそれが何をしているのかを要約できますか?
-server
SunHotSpotJVMを起動するときにオプションを渡すことの正確な効果に関する明確なドキュメントが見つかりません。
誰かがそれが何をしているのかを要約できますか?
-server を使用すると、JVM はホットスポット (つまり、頻繁に実行されるコードの一部) をより積極的にコンパイルします。その結果、コンパイラはコンパイルに時間がかかります。このオプションは、プロセスが長時間 (サーバー上などで) 実行される場合にのみ使用するため、問題ありません。
-client を使用すると、クライアント アプリの実行時にコンパイラが起動するときに長い一時停止が必要ないため、実行される最適化ははるかに軽量で高速になります。
実行時間の長いプログラムのパフォーマンスが向上するが、起動が遅くなるという犠牲を払って、前もってより多くの作業を行うことを読んだことを思い出したようです。
また参照してください: -client と -server システムの違いは何ですか?
一部のプラットフォームでは、-server フラグがデフォルトで設定されています。
つまり、Linux/Solaris で 2GB 以上のメモリと 2 つ以上のプロセッサを搭載している場合です。おわかりのように、これらの要件はずっと前に定義されていました。私は今、それよりも優れた仕様のラップトップを持っています...!
WindowsはクライアントJavaのみを実行し、* nixはサーバーJavaを実行すると想定していたため、Windowsでデフォルトとして設定したことはないと推測しています。
最近まで、長時間実行するサーバー プロセスを Windows Server で実行していましたが、フラグをオンにすると顕著な違いが生じました。