×
Javaの基礎
JVMの内部アーキテクチャは、大きく分けて「クラスローダー」「ランタイムデータエリア(メモリ領域)」「実行エンジン」の3要素で構成されています。 まずクラスローダーがに必要な.classファイルを動的にメモリ上へロードし、バイトコードベリファイアがセキュリティ上の問題がないかを厳格に検査します。 ランタイムデータエリアは、スレッド固有のPCレジスタやJVMスタック、全スレッドで共有されるヒープ領域やメタスペース領域(Java 8以前のパーマネント世代に相当)に区分されます。 実行エンジン内では、当初はインタープリターが1行ずつバイトコードを解釈・実行しますが、頻繁に実行される熱いコード領域(HotSpot)を検知すると、JIT(Just-In-Time)コンパイル機能が働いて即座にネイティブな機械語へ直接コンパイルし、実行速度を劇的に高速化させます。

試験でのポイント