プログラム

Java仮想マシン(JVM)とは

Java仮想マシン

Java仮想マシン(英:Java Virtual Machine)とは、Javaプログラムを実行するためのソフトウェアです。「Java VM」や「JVM」と略されて表現されることが多いです。

Javaバイトコードで記述されたコンピュータプログラムを解釈し、そのコンピュータで実行可能な形式のコードに変換して実行します。

さまざまな環境でJavaプログラムを動かすことができる

Javaは「Write once, run anywhere」(一度プログラムを書けば、どのコンピュータでも動く)をコンセプトにして開発された言語のため、プラットフォーム(Windows、macOS、Linuxなど)に依存せず、さまざまな環境で動かすことができます。

Javaプログラムは次の図のように、Java仮想マシンの上で動作します。

Java vm

Javaのコンパイラは、Javaバイトコード(Javaのクラスファイル)というJava仮想マシンで実行可能な形式にコンパイルします。

そして Java仮想マシンは、各プラットフォームの差異を吸収するクッション的なソフトウェアであり、Javaバイトコードで記述されたコンピュータプログラムを解釈し、各プラットフォームで実行可能な形式のコード(機械語)に変換して実行します。

JVM言語

JVM言語とは、Java仮想マシン(JVM)で動作するプログラミング言語のことです。

Java仮想マシンは、Javaプログラムを実行するためのソフトウェアですが、Java以外で書かれたプログラムを実行することもできます。

JVM言語は、Java仮想マシンで実行可能な形式である「Javaバイトコード」に変換(コンパイル)します。Javaバイトコードに変換すれば、あとはJava仮想マシンが各プラットフォームで実行可能な形式のコード(機械語)に変換して実行します。

代表的なJVM言語には「Scala」「Kotlin」「Groovy」「Clojure」などがあります。

helpful