J2SE 5.0 より、起動するアプリケーションがサーバークラスマシン上で実行されているかどうかを起動ツールで検出できるようになりました。 サーバークラスマシン上で実行されていれば、Java HotSpot Client Virtual Machine (クライアント VM) ではなく、Java HotSpot Server Virtual Machine (サーバー VM) が使用されます。これで、実行しているアプリケーションを反映するように VM が設定されていなくても、パフォーマンスを向上させられます。一般に、クライアント VM よりもサーバー VM の起動が低速ですが、徐々に速く動作するようになります。
Note:Java SE 6 の場合、「サーバークラスマシン」とは、少なくとも 2つの CPU と、最少でも 2GB の物理メモリーを備えているマシンを指します。
Java SE 6 では、Solaris または Linux を実行している i586 または Sparc 32 ビットマシン上でアプリケーションを起動するときに、-server と -client のどちらも指定されていない場合に、サーバークラスの検出が行われます。以下の表からも分かるように、i586 Microsoft Windows プラットフォームではデフォルトでクライアント VM を使用します。Sun がサポートしている残りのプラットフォームでは、サーバー VM だけを使用します。
|  
 プラットフォーム 
       | 
       
 デフォルト VM 
       | 
    |||
| アーキテクチャー | OS |  
 クライアント VM 
       | 
       
   サーバークラスの場合はサーバー VM、 
      そうでない場合はクライアント VM  | 
       
 サーバー VM 
       | 
    
| SPARC 32 ビット | Solaris |  
         | 
       
 0 
       | 
       
         | 
    
| i586 | Solaris |  
         | 
       
 0 
       | 
       
         | 
    
| Linux |  
         | 
       
 0 
       | 
       
         | 
    |
| Microsoft Windows |  
 0 
       | 
       
         | 
       
         | 
    |
| SPARC 64 ビット | Solaris |  
          
       | 
       
         | 
       
 0 
       | 
    
| AMD64 | Solaris |  
          
       | 
       
         | 
       
 0 
       | 
    
| Linux |  
          
       | 
       
         | 
       
 0 
       | 
    |
| Microsoft Windows |  
          
       | 
       
         | 
       
 0 
       | 
    |
コマンド行オプションを使用するアプリケーションの起動については、Solaris および Linux または Microsoft Windows 用の java ツールのドキュメントを参照してください。