J2SE 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 を使用します。Sun がサポートしている残りのプラットフォームは、サーバー 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 または Microsoft Windows 用の java
ツールドキュメントを参照してください。