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






