Java Runtime Environment

Java Runtime Environment(JRE)は、Javaプラットフォーム上でアプリケーションソフトウェアJavaアプリケーション)を実行するために不可欠なソフトウェア群です。これは、単にJavaプログラムを動かすだけでなく、その基盤となる環境を提供します。JREは、オラクル(旧サン・マイクロシステムズ)による公式実装の他に、OpenJDKコミュニティによるオープンな実装、IBMなどのライセンスを受けたサードパーティによる実装が存在し、多様な環境に対応しています。

JREの構成要素


JREは主に二つの要素から成り立っています。

1. Java仮想マシン (JVM): これは、Javaバイトコードを実行する仮想的なコンピュータです。Javaプログラムは、特定のハードウェアではなく、JVM上で動作するようにコンパイルされるため、異なるプラットフォーム間での互換性が保たれます。
2. アプリケーションプログラミングインタフェース (API): これは、開発者がJavaプログラムを作成する際に使用するライブラリの集合です。APIは、標準Javaクラスライブラリや拡張ライブラリを提供し、プログラムの多様な機能を実装するのに役立ちます。

JVMとAPIは互いに連携して動作し、JREとして一つのパッケージにまとめられています。これは、JVMがハードウェア、APIがソフトウェアインターフェースという関係に似ており、一体となってJavaアプリケーションを円滑に実行します。

JREとJDK


JREは、Javaアプリケーションの開発に必要なツールを含むJava Development Kit(JDK)にも含まれています。JDKは、Javaコンパイラやデバッガなど、開発に必要なツールを提供し、JREは、開発されたアプリケーションを実行するための環境を提供します。そのため、Java開発者はJDKをインストールし、Javaアプリケーションの利用者はJREをインストールするというのが一般的な使い分けです。

JREの重要性


Javaアプリケーションは、対応するJREがインストールされていなければ動作しません。組み込み機器ではJREが標準インストールされていることが多いですが、デスクトップ環境では、JREを別途インストールする必要がある場合があります。

JREのバンドルと互換性


かつては、javapackagerというツールを使ってJREをアプリケーションパッケージに同梱し、再配布する形態もサポートされていました。JREは基本的に後方互換性を維持しており、古いJDKで作成されたJavaアプリケーションを新しいJRE上で動作させることができます。しかし、新しいJDK/JREで導入された非互換性によって、アプリケーションが正常に動作しなくなることもあります。また、Javaアプレットのように、古いバージョンのJDK/JREにしか含まれていないコンポーネントもあり、新しいバージョンでは利用できない場合もあります。逆に、JavaFXのように、かつてはJDK/JREに標準で含まれていたものが、後に独立して提供されるようになったコンポーネントもあります。

Java Web Startとプラグイン


Java 10までのJREには、Java Web Startも含まれていました。これは、ウェブブラウザ上でJavaアプレットを動作させたり、Java Web Start対応のアプリケーションを起動するために使用され、ブラウザのプラグインとして動作します。しかし、ブラウザ技術の進化に伴い、JavaアプレットやJava Web Startは徐々に利用されなくなっています。

セキュリティ上の注意


JREのアップデートでは、旧バージョンが削除されない場合があります。セキュリティ上の脆弱性が発見されたり、サポートが終了した古いバージョンのJava (JDK/JRE) をシステムに残しておくと、重大なセキュリティリスクが生じるため、古いバージョンは手動で削除することが強く推奨されます。

関連事項


Java'>Java
Java%E3%83%97%E3%83%A9%E3%83%83%E3%83%88%E3%83%95%E3%82%A9%E3%83%BC%E3%83%A0'>Javaプラットフォーム
Java%E4%BB%AE%E6%83%B3%E3%83%9E%E3%82%B7%E3%83%B3'>Java仮想マシン (JVM)
Java_Development_Kit'>Java Development Kit(JDK、Java開発キット)
* IBM_J9'>IBM J9

参照


Java | Oracle

もう一度検索

【記事の利用について】

タイトルと記事文章は、記事のあるページにリンクを張っていただければ、無料で利用できます。
※画像は、利用できませんのでご注意ください。

【リンクついて】

リンクフリーです。