Java HotSpotTM Client Virtual Machine および Java HotSpotTM Server Virtual Machine |
ドキュメントの目次 |
J2SE 1.3 では、Java Virtual Machine の実装として、次の 2 つを利用できます。* この Web サイトで使用されている用語「Java Virtual Machine」または「JVM」は、Java プラットフォーム用の仮想マシンを表します。Java HotSpotTM Client VMSolaris および Linux 版の J2SE 1.3 には、両方の VM 実装が含まれます。 Win32 版の J2SE 1.3 には、Java HotSpot Client VM のみが含まれます。 Win32 プラットフォーム用の Java HotSpot Server VM は、Java HotSpot Web サイトから別途ダウンロードして利用できます。
Java HotSpot Server VMどちらの VM 実装にも共通する Java HotSpot テクノロジの機能を次に示します。
Java HotSpot 技術の詳細は、以下を参照してください。
- 「適応型コンパイラ」 - アプリケーションは標準のインタプリタを使って起動されますが、パフォーマンスのボトルネックまたは「ホットスポット」が検出されてコードが解析されます。Java HotSpot Client VM は、パフォーマンスを向上させるため、コードの、これらのパフォーマンス-クリティカルな部分をコンパイルしますが、ほとんど使われないコード (プログラムの大部分) を不必要にコンパイルすることはありません。また、Client VM は、適応型コンパイラを使って、コンパイルしたコードをインライン化などの手法で最適化する最善の方法を瞬時に判断します。コンパイラが実行時解析を行うので、どの最適化が最大のパフォーマンスを生み出すかを推測で判断しなくて済みます。
- 「メモリ割り当ておよびガベージコレクションの改善」 - Java HotSpot Client VM は、旧来の Virtual Machine より高速にオブジェクトのメモリを割り当てます。また、Client VM には、旧来の VM のガベージコレクタより高速で効率的な、高度なガベージコレクタがあります。
- 「スレッド同期」 - Java プログラミング言語は、プログラム実行の複数の並列パス (「スレッド」と呼ばれる) の使用を考慮に入れています。Java HotSpot Client VM は、メモリの消費を抑えた、より高速なスレッド処理機能を実現しています。この機能は、大規模なメモリ共有型のマルチプロセッササーバでの使用を容易にスケーリングできるよう設計されました。
Java HotSpot Architecture white paper
The Java HotSpot Server VM: The Solution for Reliable, Secure Performance for the EnterpriseJava HotSpot Client VM
Java HotSpot Client Virtual Machine* は、Java 2 SDK の以前のバージョンで使われていた「標準的な (classic)」 Virtual Machine と Just In Time (JIT) の両コンパイラの代替機能を提供して、アプリケーションとアプレットの実行時のパフォーマンスを改善します。Java HotSpot Client VM は、特にアプリケーションの起動時間を短縮し、メモリ消費を少なくするよう作られており、クライアント環境に特に適合します。特に指定しない限り、すべてのプラットフォームで、Java アプリケーション起動ツール (java ユーティリティ) は、アプリケーション起動時に Java HotSpot Client VM を使用します。詳細は、以下を参照してください。
Java HotSpot Server VM
Java HotSpot Server VM は、操作の最高速度を高めるようにチューニングされていることを除けば、Java HotSpot Client VM と同様です。 Java HotSpot Server VM は、長期間稼動するサーバアプリケーションの実行用に設計されています。一般に、長期間稼動するサーバアプリケーションでは、最高の操作速度を実現することが、起動時間を短くすることよりも重要なことと考えられています。Solaris および Linux 版の J2SE 1.3 では、Java HotSpot Server VM があらかじめインストールされています。 Win32 プラットフォーム用の Java HotSpot Server VM は、Java HotSpot Web サイトから別途ダウンロードして利用できます。
デフォルトの Java HotSpot Client VM ではなく、Java HotSpot Server VM を呼び出すには、Java アプリケーション起動コマンドの -server オプションを使用します。例を示します。
java -server MyApp
Copyright © 1999, 2000 Sun Microsystems, Inc. All Rights Reserved. コメントの送付先: jdk-comments@eng.sun.com |