[ 通常表示 ]  [ 簡易表示 ]  [ シンプル表示 ]

「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典イメージぴよ画像「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典

JVM

pointこの用語のポイント

pointソフトウェアだよ

pointJavaで作ったプログラムを動かすときに必要だよ

point「一度書けば、どこでも動く」を実現するための切り札だよ

スポンサーリンク

簡単に書くよ

JVMとは

Javaで作ったプログラムとコンピュータの通訳。
もう少し真面目に書くと

Javaの「一度書けば、どこでも動く」の思想を実現するための切り札で、Javaのプログラムを動かすためのソフトウェア
です。

image piyo

詳しく書くよ

※このページの説明は「Java仮想マシン」や「JavaVM」の説明と同じです。既にそれらの説明をご覧になった方は、読んでも意味が無いと思います。

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パソコンさんとやり取りをします。

JVM

さて、次に、このJavaで作ったプログラムをMacのパソコンに持っていったとしましょう。
Windowsのパソコンさんで動いていたJavaで作ったプログラムを、Macのパソコンさんで動かします。

このときの流れも、Windowsパソコンさんのときと同じです。
Javaで作ったプログラムはMacなパソコンさんと直接やり取りをするわけではありません。
JVMとやり取りをします。
そして、JVMがMacなパソコンさんとやり取りをします。

JVM2

どんな環境に持っていこうとも、Javaで作ったプログラムがやり取りする相手はJVMさんなのです。
Javaで作ったプログラムはJVMさんのことさえ考えていればOKです。

あとのことは、JVMさんが良しなに取り計らってくれます。
相手がWindowsであればWindowsに合うようにやり取りしてくれますし、相手がMacであればMacに合うようにやり取りしてくれます。

つまり、JVMさんはJavaで作ったプログラムとコンピュータの通訳です。
プログラムと環境の間に入って、仲を取り持ってくれます。

Javaで作ったプログラムはJVMさんとやり取りするだけなので、どんなコンピュータが相手でも自分を変える必要はありません。
例えば、JVMさんと日本語でお話するのであれば、ひたすら日本語だけを喋れば良いのです。

JVM3

仮に英語しか分からないパソコン上で動かすときも大丈夫です。
JVMさんが英語に翻訳してくれます。

JVM4

フランス語しか分からないパソコン上で動かすときも大丈夫です。
JVMさんがフランス語に翻訳してくれます。

JVM5

環境にする差異はJVMさんに吸収してもらうので、プログラム自体は「一度書けば、どこでも動く」ってな理屈です。

実際には、環境によって微妙に動きが変わったりしますけどね。

image piyo2

一言でまとめるよ

まぁ「JVM」って単語が出てきたら「Javaで作ったプログラムを動かすためのソフトウェアなんだな~」と、お考えください。

一番上に戻るよ
スポンサーリンク