Java™ 仮想マシンテクノロジ
JDK™ は、1 つまたは複数の Java™ 仮想マシン (VM) 実装を提供します。
- クライアントアプリケーション用によく使用されるプラットフォームで、JDK が Java HotSpot™ Client VM (クライアント VM) と呼ばれる VM 実装に付属しています。クライアント VM は起動時間を短縮し、メモリーサイズを縮小するように調整されています。これを起動するには、アプリケーションの起動時に
-client
コマンド行オプションを使用します。
- すべてのプラットフォームで、JDK が Java HotSpot Server VM (サーバー VM) と呼ばれる Java 仮想マシン (VM) 実装に付属しています。サーバー VM はプログラム実行速度が最大になるように設計されています。アプリケーションの起動時に
-server
コマンド行オプションを使用することで呼び出すことができます。
両方の VM 実装に共通する Java HotSpot テクノロジの機能の一部を次に示します。
- 適応型コンパイラ - アプリケーションは標準インタプリタで起動しますが、コードは実行時に解析してパフォーマンスボトルネック、つまり「ホットスポット」を検出します。Java HotSpot VM は、パフォーマンスを向上させるため、コードのこのようなパフォーマンス-クリティカルな部分をコンパイルしますが、ほとんど使われないコード (プログラムの大部分) を不必要にコンパイルすることはありません。また、Java HotSpot VM は、適応型コンパイラを使って、インライン化などのテクニックで、コンパイルしたコードを最適化するための最善の方法をオンザフライで判断します。コンパイラが実行時解析を行うので、どの最適化最大のパフォーマンス利点を生み出すかを推測で判断しなくて済みます。
- 高速メモリー割り当てとガベージコレクション - Java HotSpot テクノロジは、オブジェクトの高速メモリー割り当てを提供し、高速、効率的、最先端のガベージコレクタの選択肢を提供します。
- スレッド同期 - Java プログラミング言語は、プログラム実行の複数同時パス (「スレッド」と呼ばれる) の使用に対応します。Java HotSpot テクノロジは、大規模なメモリー共有マルチプロセッササーバーで使用するために拡張できるように設計された、スレッド処理機能を提供します。
ツール
Java HotSpot VM のオペレーティング特性の一部は、コマンド行フラグを使用して制御できます。
拡張機能
詳細情報