【Java】JVMとは?
JVMを使うことでどんなことができるか?
OSに依存せずにプログラムを実行できます。
これは、Javaの有名な標語である「Write Once, Run Anywhere」のことです。
「一度書けば、どこでも実行できる」というやつです。
プログラムを実行するには、Javaをコンピュータが理解できる機械語に変換してあげる必要があります。
この機械語への変換作業は、OSが異なれば結果が異なります。
同じソースコードから作られた機械語でも、WindowsとMacで、この変換作業(コンパイル)の結果は異なります。
機械語は、そのコンピュータの環境に適したものじゃないと正常に動作しません。
しかし、JVMがJavaで書かれたソースコードをプログラムの実行時にコンパイルすることで、
OSに依存せずに済むようになります。
つまり、理論上、OSごとにJVMをを用意すれば、
一度Javaでプログラムを組むだけで、
様々な環境(OS)で処理を実行できるようになります。
この実行時にソースコードを機械語にコンパイルする方式をインタプリンタ方式といいます。
Javaはこのインタプリンタ方式の1種である、実行時コンパイル方式をとっています。
実行時コンパイル方式とは、ソースコードを中間コード(2進数のもの)で書かれたクラスファイルにコンパイルした後、
実行時に機械語に変換する方式のことです。
ちなみに、JVMはJava Virtual Machineの略です。