\r\n\r\n
JVMとJRE
Javaは、クロスプラットフォームのプログラミング言語です。また、「一度書けば、どこでも実行できる」という原則を守っています。Javaで書かれたプログラムは、JavaコンパイラによってJavaバイトコードにコンパイルすることができます。このバイトコードは、JRE(Java Runtime Environment)が動作するプラットフォームで実行することができます。JVMは、プラットフォーム固有のJREとJavaコードの仲介をする抽象的な計算機である。
JVMとは?
JVMは、マシンがJavaバイトコードを実行するために使用する仮想マシンです。サン・マイクロシステムズ社(オラクル社が少し前に買収するまでJavaを開発していた)によると、世界には40億台以上のJVM対応デバイスがあるという。具体的には、Java仮想マシンは、標準的なハードウェアとオペレーティングシステム上に実装される抽象的な計算機である。JVMが提供する重要な機能は、自動的な例外処理である。通常、JVMには標準ライブラリのセットが付属しています。JVMは、Javaプログラミング言語の「一度コンパイルすれば、どこでも実行できる」という性質に対応する、非常に重要なコンポーネントです。JVMが動作している限り、マシンで使用されているプラットフォームに関係なく、あなたのJavaコードはその上で実行することができます。このため、Javaはクロスプラットフォーム、マルチプラットフォーム言語と呼ばれています。
JREとは何ですか?
JREは、Javaコードを実行するための実行環境である。通常、JREはJVM、標準ベースクラス(基本的なjavaapiを実装したもの)、その他のサポートファイルで構成されています。JREの種類と構造は、OSやCPUのアーキテクチャによって変化します。Javaコードが実行されると、JREはOSと通信し、OSは対応するハードウェアコンポーネントと通信する。JREがシステムにインストールされていることは、あなたのマシンでJavaコードを実行するための必要条件です。ただし、JREにはコンパイラやデバッガなど、Javaプログラムの開発に必要なツール(appletviewerやjavacなど)は含まれていない。Javaでプログラムを開発する必要がある場合、JREも含むJDK(Java Development Kit)が必要になります。
JVMやJREとは何が違うのですか?