Javaをどこでも動かす「JVM(Java Virtual Machine)」とは?
Javaのプログラムは、一度書けばどんな環境でも動かせると言われます。
その仕組みの中心にあるのが、JVM(Java Virtual Machine/Java仮想マシン)です。
JVMとは?
JVM(Java Virtual Machine) は、Javaプログラムを実行するための仮想的なコンピュータです。
実際のマシン(Windows、Mac、Linuxなど)とは別に、JVM上でJavaの命令を解釈して動かす仕組みです。
JVMの役割
- Javaで書かれたプログラム(
.class
ファイル)を読み込む
- Javaバイトコードを解釈・実行する
- メモリ管理やガーベジコレクションを行う
- 安全な実行環境を提供する
Javaの実行の流れ
- Javaでプログラムを書く(
.java
)
- コンパイルして
.class
ファイル(バイトコード)を生成
- JVMが.classファイルを読み取り、実行
どこでも動く理由
Javaプログラムは「JVM上で動く」ため、
各OSに対応したJVMさえあれば、どんな環境でも同じバイトコードを動かせるのです。
これが「Write Once, Run Anywhere(1度書けばどこでも動く)」の理由です。
JVMとJDK / JREの関係
- JVM: Javaの実行エンジン
- JRE: JVM + Javaの標準ライブラリ
- JDK: JRE + 開発ツール(javacなど)
JVMの機能例
- メモリ管理(ヒープ・スタック)
- ガーベジコレクション(不要なオブジェクトの自動削除)
- 例外処理
- セキュリティチェック
まとめ
JVM(Java Virtual Machine) は、JavaのプログラムをOSに依存せずに実行するための仕組みです。
「Javaがどこでも動く」「安全に実行できる」といったメリットは、JVMのおかげで成り立っています。
Javaを学ぶ上で、ぜひ一度は理解しておきたい重要な存在です!