JavaVMとJREの違いは何か?

 

最初から全てを理解したいと思っても、それは無理です。
矛盾するようですが、知らない事は理解できないのですから。

毎度、管理人イガジーです。

ですから最初は細かい事を気にせずに、コレとアレは同じ様な概念で、
ソレとコイツは相反するものらしい、というように、少しずつ頭の中に
地図を作っていくようにしましょう。

Java VM(Virtual Machine)と、JRE(Java Runtime Environment)は
似たようなものです。最初は区別しなくても良いと思います。
java.com のサイトからダウンロードできるのは、JRE(あるいはJDK)で
VM とは言わないようです。
でも、JREをインストールしてJavaのアプリを走らせる際に、「VM」が
どうしたこうした、と出てくる感じですよね。

JRE(あるいはJDK)には、VMも含まれている、と理解しましょう。
Javaのバイトコード(コンパイルした.classファイル)を解釈実行する
エンジンが VM(Virtual Machine)です。
バイトコードは(原則として)パソコンの機種やOSに依存しません。
機種やOSに応じてVMが提供されて、実行できるわけです。

JREは、「VM にライブラリを加えたもの」です。ライブラリというのは
実行時に必要になるお助けメソッドの集まりです。

JDKは、JREに開発ツールを追加したものです。開発ツールというのは
Javaコンパイラや、JARアーカイバなど、Javaのソースコードから
実行形式のバイトコードを作るためのものです。

以上を読んでもさっぱり分からない場合は(説明がうまくないのも
あるかもしれませんが)、経験が足りないのです。
気にせず、小さなプログラムをたくさん作ったり、改造してみましょう。

そのうち、なんとなくわかってきますから。

この記事へのコメントはこちら

メールアドレスは公開されませんのでご安心ください。
また、* が付いている欄は必須項目となりますので、必ずご記入をお願いします。

内容に問題なければ、下記の「コメント送信」ボタンを押してください。