JVM
ソフトウェアだよ
Javaのプログラムを動かすときに必要だよ
「一度書けば、どこでも動く」を実現するための切り札だよ
「Java Virtual Machine」の略だよ
簡単に書くよ
JVM(読:ジェイブイエム)とは
Javaで作ったプログラムとコンピュータの通訳。
もう少し具体的に書くと
Javaの「一度書けば、どこでも動く」の思想を実現するための切り札で、Javaのプログラムを動かすためのソフトウェア
です。
詳しく書くよ
順番に見ていきましょう。
まずは予備知識として「プログラミング言語」と「Java」について簡単に説明します。
「そんなの説明されなくても知ってるよ!」な人は適当に読み飛ばしてください。
プログラミング言語は「プログラムの元ネタ(ソースコード)を書くときに使う言葉」です。
一般的なプログラムというのは、まず人間語で元ネタを書き、それをコンピュータさんが分かる言葉に翻訳することで完成します。
この「元ネタ」を書くときに使う言語がプログラミング言語です。
Javaは「一度書けば、どこでも動く」の理念で作られたプログラミング言語です。
プログラムの元ネタを書くときに使う言葉のひとつです。
Javaのプログラムは、どんな環境でも動くということに(建前上は)なっています。
ちなみに、Javaが「オブジェクト指向」という用語を世間一般に流行らせました。
以上を踏まえて、本題に入ります。
繰り返しになりますが、Javaには「一度書けば、どこでも動く」な思想があります。
「一度作ったプログラムは、WindowsでもMacでもLinuxでもその他の環境でも動くぜー!」です。
この思想を実現するための切り札で
Javaのプログラムを動かすためのソフトウェア
が「JVM」です。
「Java仮想マシン」や「JavaVM」と呼ばれることもあります。
「仮想マシン」を英語にすると「Virtual Machine(バーチャル・マシーン)」です。
その頭文字を取ると「VM」だから「Java仮想マシン」が「JavaVM」となり、それをさらに縮めて「JVM」です。
「Java仮想マシン」「JavaVM」「JVM」は表現が違うだけで、全部、同じ物を指しています。
その名の通り、JVMのイメージは仮想マシン(コンピュータの中に作られた、なんちゃってコンピュータ)です。
コンピュータの中にJavaで作ったプログラムを動かすための仮想環境を作って、プログラムはその中で動かすことで、本来の環境による差を無視できるようにしよう、な狙いです。
例えば、Javaで作ったプログラムがWindowsのパソコン上で動くとしましょう。
このとき、Javaで作ったプログラムは直接Windowsパソコンさんとやり取りをするわけでは ありません。
JVMとやり取りをします。
そして、JVMがWindowsパソコンさんとやり取りをします。
さて、このJavaで作ったプログラムをMacのパソコンに持っていったとしましょう。
Windowsのパソコンさんで動いていたJavaで作ったプログラムをMacのパソコンさんで動かします。
このときの流れもWindowsパソコンさんのときと同じです。
Javaで作ったプログラムはMacなパソコンさんと直接やり取りしません。
JVMとやり取りをします。
そして、JVMがMacなパソコンさんとやり取りをします。
どんな環境に持っていこうとも、Javaで作ったプログラムがやり取りする相手はJVMさんなのです。
Javaで作ったプログラムはJVMさんのことさえ考えていればOKです。
あとのことはJVMさんが良しなに取り計らってくれます。
相手がWindowsであればWindowsに合うようにやり取りしてくれますし、相手がMacであればMacに合うようにやり取りしてくれます。
つまり、JVMさんはJavaで作ったプログラムとコンピュータの通訳です。
プログラムと環境の間に入って、仲を取り持ってくれます。
Javaで作ったプログラムはJVMさんとやり取りするだけなので、どんなコンピュータが相手でも自分を変える必要は ありません。
例えば、JVMさんと日本語でお話するのであれば、ひたすら日本語だけを喋れば良いのです。
仮に英語しか分からないパソコン上で動かすときも大丈夫です。
JVMさんが英語に翻訳してくれます。
フランス語しか分からないパソコン上で動かすときも大丈夫です。
JVMさんがフランス語に翻訳してくれます。
環境による差異はJVMさんに吸収してもらうので、プログラム自体は「一度書けば、どこでも動く」ってな理屈です。
実際には、環境によって微妙に動きが変わったりしますけどね。
一言でまとめるよ
まぁ「JVM」って単語が出てきたら「Javaで作ったプログラムを動かすためのソフトウェアなんだな~」と お考えください。
おまけ
■訳してみるよ
「JVM」は「Java Virtual Machine(ジャヴァ・バーチャル・マシーン)」の略です。
「Java(ジャヴァ)」はプログラミング言語の「Java」です。
「virtual(バーチャル)」の意味は「実質上の」とか「事実上の」とか「実際上の」とかです。
ただし、今回は「仮想の」と解釈してください。
「machine(マシン)」の意味は「機械」とかです。
何となく くっつけると
Javaの仮想の機械
となります。






