Java SE 5.0より、アプリケーション起動時に、そのアプリケーションが「server-class」マシン上で実行されているかどうかを起動ツールで検出できるようになりました。その場合は、Java HotSpot Client Virtual Machine (クライアントVM)ではなく、Java HotSpot Server Virtual Machine (サーバーVM)を使用してください。こうすることで、実行しているアプリケーションを反映するようにVMが設定されていなくても、パフォーマンスを向上できます。一般に、クライアントVMよりもサーバーVMの起動が低速ですが、徐々に速く動作するようになります。
Java SE 6では、SolarisまたはLinuxを実行しているi586またはSparc 32ビット・マシン上でアプリケーションを起動するときに、-server
と-client
のどちらも指定されていない場合に、server-classの検出が行われます。以下の表からもわかるように、i586 Microsoft WindowsプラットフォームはデフォルトでクライアントVMを使用します。残りのプラットフォームは、サーバーVMのみを使用します。
アーキテクチャ | OS | デフォルトのクライアントVM | server-classの場合はサーバーVM、 そうでない場合はクライアントVM |
デフォルトのサーバーVM |
---|---|---|---|---|
SPARC 32ビット | Solaris |
|
X
|
|
i586 | Solaris |
|
X
|
|
i586 | Linux |
|
X
|
|
i586 | Microsoft Windows |
X
|
|
|
SPARC 64ビット | Solaris |
—
|
|
X
|
AMD64 | Solaris |
—
|
|
X
|
AMD64 | Linux |
—
|
|
X
|
AMD64 | Microsoft Windows |
—
|
|
X
|
アプリケーション起動のためにコマンド行オプションを使用する方法の詳細は、Solaris、Linux、またはMac OS X用あるいはMicrosoft Windows用のjava
ツール・ドキュメントを参照してください。