この記事は検証可能な参考文献や出典が全く示されていないか、不十分です。出典を追加して記事の信頼性向上にご協力ください。(このテンプレートの使い方)
出典検索?: "Javaプラットフォーム"
Javaのエディション
Javaカード
Java ME (Micro)
Java SE (Standard)
Jakarta EE
JavaFX
テンプレートを表示
Javaプラットフォーム(ジャバプラットフォーム、英: Java Platform)は、Javaで記述されたプログラムの開発および実行を行うことのできるソフトウェア群の総称である。 Javaのプログラムは、オペレーティングシステム (OS) やハードウェアに依存しないバイトコード(中間言語)と呼ばれる抽象的なコードで表現されている。そのため、Javaプログラムの実行に必要な仮想マシン (virtual machine) や、開発に必要な標準ライブラリセットおよびコンパイラを個々の環境にあわせて作りさえすれば、Javaプログラムはそれら全ての環境で同一に動く。Javaプラットフォームとはこうした実行環境および開発環境のことである。 Javaプラットフォームは、Java、Javaアプレット、Java Runtime Environment、JVM、携帯電話や組み込み機器対応Java (Java ME)、Java Web Start、Java製アプリケーションなども含めてまとめて単純に「Java」と呼ばれることがある。 Javaプラットフォームにはいくつかのエディションがあり、PCのスタンドアロンアプリケーションや他のエディションの基礎となるJava Standard Edition (Java SE)、WebアプリケーションやWebサービスなど、サーバーサイド用のJakarta EE、スマートフォンのような携帯端末向けJava Micro Edition (Java ME) が存在する。 2019年5月時点で、Javaプラットフォームの現在のメジャーバージョンは12である[要出典]。なおJavaプラットフォームには、バージョン番号とは別の概念としてバージョン文字列というものがあり、現時点では1.8.0である。[1] Javaプラットフォームは様々なプログラムから成り立っており、各々はそれ全体の能力から全く異なる一部品を提供する。例えば、JavaソースコードをJavaバイトコードに変換するJavaコンパイラがあり、それはJava Development Kit (JDK) の一部として提供されている。実行環境であるJava Runtime Environment (JRE) は通常、オンザフライでバイトコードをネイティブマシンコードに変換するJITコンパイラとして実装されている。また、Javaバイトコードにプリコンパイルされた大規模なライブラリが存在する。アプリケーションが配置される手段も、アプレットとしてウェブページに埋め込むなど多岐にわたる。他にも、Java Platform Standard Edition 8 Documentation
概要
プラットフォームにある極めて重要なコンポーネントはJavaコンパイラ、ライブラリ、そして仮想マシン仕様で設計されたルールによってJava中間バイトコードを「実行」する実行環境である。
Java仮想マシン詳細は「Java仮想マシン」を参照
Javaプラットフォームの本質はJavaバイトコードを実行する「仮想機械 (virtual machine)」の発想である。Javaバイトコードは実行プログラムの下にどんなハードウェアやOSがあろうと全く同じである。JITコンパイラはJava仮想マシン (Java virtual machine) で動く。JITコンパイラは実行時にJavaバイトコードをネイティブなプロセッサ命令に翻訳し、プログラム実行中にメモリ上にネィティブコードをキャッシュする。
中間言語としてのバイトコードの使用は、バーチャルマシンが存在する様々なプラットフォーム上でJavaプログラムが走ることを可能にする。JITコンパイラの使用はローディングによる僅かな遅延と、それらが一度にほとんどまたは全てJITコンパイルされ、一度「ウォームアップ」した後で、Javaアプリケーションがネイティブなプログラムと同じくらいの速さで走る傾向があることを意味する。
JREバージョン1.1以来、サンのJava VM実装はインタプリタだけでなく、JITコンパイラも含んでいる。 最も現代的なOSでは、再利用可能なコードの大きな集まりがプログラマの仕事を容易にした。このコードは一般的にアプリケーションが実行時に呼び出せる動的読込ライブラリのセットとして提供される。Javaプラットフォームは特定のOSに依存しないため、アプリケーションは既存のライブラリのいくつかに頼ることはできない。それどころか、Javaプラットフォームは多くのものを含む標準クラスライブラリの集合を提供し、多くの現代のOSで一般に見つかる同じく再利用可能な機能の多くを含んでいる。
クラスライブラリ