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

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

Java仮想マシン

pointこの用語のポイント

pointソフトウェアだよ

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

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

スポンサーリンク

簡単に書くよ

Java仮想マシンとは

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

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

image piyo

詳しく書くよ

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

Javaは「『一度書けば、どこでも動く』の理念で作られたプログラミング言語で『オブジェクト指向』という言葉を流行らせた奴」ね。

Javaには「一度書けば、どこでも動く」な思想があります。
「一度作ったプログラムは、WindowsでもMacでもLinuxでもその他の環境でも動くぜー!」です。

この思想を実現するための切り札で、Javaのプログラムを動かすためのソフトウェアが「Java仮想マシン」です。
文字通り、仮想マシン(コンピュータの中に作られた、なんちゃってコンピュータ)のイメージですね。
コンピュータの中にJavaで作ったプログラムを動かすための仮想環境を作って、プログラムはその中で動かすことで、本来の環境による差を無視できるようにしよう、な狙いです。

例えば、Javaで作ったプログラムがWindowsのパソコン上で動くとしましょう。
このとき、Javaで作ったプログラムは直接Windowsパソコンさんとやり取りをするわけではありません。
Java仮想マシンとやり取りをします。
そして、Java仮想マシンがWindowsパソコンさんとやり取りをします。

Java仮想マシン

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

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

Java仮想マシン2

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

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

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

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

Java仮想マシン3

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

Java仮想マシン4

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

Java仮想マシン5

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

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

image piyo2

一言でまとめるよ

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

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