Java Runtime Environment

Java Runtime Environment(Java実行環境、JRE)とは、コンピュータシステム上でJavaプラットフォーム用のアプリケーションソフトウェアJavaアプリケーション)を動かせるようにするソフトウェア群である。JREはオラクル(旧サン・マイクロシステムズ)による公式実装のほか、OpenJDKのコミュニティによるオープン実装、IBMなどの正式にライセンス供与されたサードパーティによる実装などが存在する[1]

概要

[編集]

JREのソフトウェア群はJava仮想マシン (JVM) とアプリケーションプログラミングインタフェース (API) から成り立っている。APIはエディション(プロファイル)に応じて、標準Javaクラスライブラリの集合や拡張ライブラリなどを提供する。仮想マシンとAPIは互いに互換性がなければならず、それゆえJREとして共にバンドルされている。これは仮想マシンがプロセッサであり、APIがユーザインタフェースであるような仮想的なコンピュータと考えることができる。

JREは、Javaアプリケーション開発に必要なJavaコンパイラなどを含むソフトウェア開発キット (SDK) であるJava Development Kit(JDK、Java開発キット)にも同梱されている。

Javaアプリケーションは対応するJREがなければ動作させることができない。Java互換の組み込み機器では通例JREが標準インストールされているが、デスクトップマシンでは、JREが標準インストールされていないこともあり、その場合はJREを事前にインストールする必要がある。JDK 10までは、javapackagerと呼ばれるツールを利用し、JREをアプリケーションパッケージにプライベートモジュールとして同梱(バンドル)・再配布する形態もサポートされていた[2]。JREは基本的に後方互換性を保っており、古いJDKを利用して作成されたJavaアプリケーション(JAR)を新しいJRE上で動作させることもある程度可能であるが、新しいバージョンのJDK/JREで持ち込まれた非互換性により、アプリケーションが正常に動作しなくなることもある[3]Javaアプレットなど、一部のソフトウェアコンポーネントは古いバージョンのJDK/JREにしか含まれておらず、新しいバージョンのJDK/JREでは利用不可能であるものもある。JavaFXのように、かつてJDK/JREに標準で含まれていたものの、のちに分離・独立して個別提供されるようになったコンポーネントもある。

Java 10までのJREにはJava Web Startも同梱されていた。インストール時にMozilla FirefoxOperaInternet ExplorerなどのウェブブラウザにJava Plug-inをインストールするかどうかを尋ねられる。これはブラウザでJavaアプレットを動かし、Java Web Start対応Javaアプリケーションを起動できるようにするために必要なものであり、単純にFlashをブラウザ上で直接実行したり、ブラウザ外部のメディアプレーヤーを起動したりといったものと同じプラグインの一種である。

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

関連項目

[編集]

参照

[編集]
  1. ^ AndroidのJava実行環境は正式にライセンスされたJREではなく、またDalvik仮想マシン/Android Runtimeは正式なJava仮想マシンとの互換性がない。
  2. ^ javapackager
  3. ^ JDK 8の互換性ガイド
  4. ^ 古いバージョンのJavaをシステムからアンインストールしなければならないのはなぜですか。

外部リンク

[編集]