Loading AI tools
ウィキメディアの一覧記事 ウィキペディアから
本稿ではJavaプラットフォームの基準であるスタンダード版のメジャーバージョン履歴を説明する。その他にもエンタープライズ版、マイクロ版、カード版といった周辺エディションが存在し、それぞれが個別にメジャーバージョン改訂を行っているが、いずれもスタンダード版改訂を基準にしそれに後発する時系列でリリースされている。
Javaプラットフォームの初回バージョンは、ブランド名「Java」プロダクト名「Development Kit」からプロパー名「Java Development Kit」とネーミングされ通称は「JDK」とされた。当初のメジャーバージョン値は小数点第一位にされた。通称にバージョン値を付けたものがリリース名になった。まだ国際化対応はされず英語版のみだった[1]。
国際化対応され日本語版も追加された。
大幅な技術刷新によりブランド名が「Java 2」に改められた。統合仕様の確立でプロダクト名が「Platform」に改められた。エディションの分化で「Standard」が付加された。こうしてプロパー名「Java 2 Platform, Standard Edition」通称「J2SE」になった。ここからコードネームが付けられるようになった[2]。翌年にエンタープライズ版「J2EE 1.2」とマイクロ版「J2ME 1.2」もリリースされた。
strictfp
キーワード(言語仕様、浮動小数点計算)ここからメジャーバージョンのコードネームは鳥獣名、マイナーバージョンは昆虫名にするのが慣例になった[3][4]。
このバージョンからJavaコミュニティプロセス(Java Community Process)による仕様策定が開始された[5][6][7]。
assert
キーワード(言語仕様、デバッグ用ディレクティブ、任意条件でプログラム中断)メジャーバージョン値が整数部分に変更された。言語仕様に大幅な拡張が加えられた[8][9]。メモリモデル改善でマルチスレッドも軽量化した。他エディションは「J2EE 1.4」「J2ME 1.4」のままだった。この頃に「Java Card Platform」がエディション昇格し、バージョンは独自式のまま「Java Card 2.2」でリリースされた。
List<T>
)enum
キーワードで定数クラスを定義)void drawText(String... lines)
)@
キーワードでクラスメタデータに注釈タグと注釈コメントを埋め込むアドホック多相)for
文(対象リストのイテレータ表現式になるfor文)import
で指定できる)ブランド名が「Java 2」から「Java」に戻されてプロパー名「Java Platform, Standard Edition」となり、通称が「J2SE」から「Java SE」になった。バージョン値から小数点以下が外された。なおマイナーバージョン更新では再び小数点以下が付けられた。他エディションも「Java EE 5」「Java ME 5」になった。仮想マシンを含めた既存機能の改善と洗練に力が注がれた。
サン社を買収したオラクル社による初のメジャーバージョンリリースである。
ここでコードネームが廃止された[11]。長期サポート(LTS)リリース制度下の最終版である。
@interface
で構造体化したアノテーションを定義、複数の注釈フィールドを持つ)ここからメジャーバージョンは一定の新機能蓄積を待たずに公開する毎年3月と9月の年2回定期リリース制に変更された[12]。従来の長期サポート(LTS)が無くなり、原則的に半年間サポートになった。
JSR 383にて仕様規定[13]。ここから追加要素の大半は、標準機能相当のJSR(仕様要求)ではなく、拡張機能扱いのJEP(改善提案)になった。試作段階の機能がお試し用として追加されるようになった。
JSR 384にて仕様規定[14]。Java開発環境として「Oracle JDK」と「OpenJDK」の二つが提供されるようになり、前者の商用利用は有償長期サポート(LTS)契約を結んだ顧客のみになった。Java EEのアップグレードがエクリプス財団による「Jakarta EE」に移譲されたので、JDKにEnterprise版連携モジュールが含まれなくなった。CORBAモジュールも外された。Java FXも取り除かれた。このバージョンは長期サポート(LTS)対象にされているが、上述の通り有償LTSである。
JSR 386にて仕様規定。アップデートで令和改元に向けたセキュリティ対策が施された。
JSR 388にて仕様規定。「数百の小粒改良、数千のバグ修正」と宣伝された。
JSR 389にて仕様規定。「数百の小粒改良、数千のバグ修正」と宣伝された。
JSR 390にて仕様規定。
JSR 391にて仕様規定[15]。
JSR 392にて仕様規定[16]。
JSR 393にて仕様規定[17]。
JSR 394にて仕様規定[18]。
JSR 395にて仕様規定[19]。
JSR 396にて仕様規定[20]。
JSR 397にて仕様規定[21]。
JSR 398にて仕様規定[22]。
Java言語では、JDK1.0以降、標準ライブラリにクラスやパッケージが多数追加されただけでなく、いくつかの変更が行われてきた。J2SE 1.4以降、Java言語の進化は、Java Community Process (JCP)によって管理されてきた。このプロセスでは、Java Specification Requests(JSR)を使用してJavaプラットフォームへの追加や変更を提案・指定している。言語はJava言語仕様書(JLS)によって規定されており、JLSへの変更はJSR 901によって管理されている。
言語の変更に加えて、Javaクラスライブラリにも長年にわたって変更が加えられ、JDK 1.0の数百クラスからJ2SE 5では3,000クラスを超えるまでに成長した。 SwingやJava2Dなどの全く新しいAPIが導入され、オリジナルのJDK 1.0のクラスやメソッドの多くが非推奨となっている。いくつかのプログラムでは、JavaプログラムをJavaプラットフォームのあるバージョンから古いバージョンに変換することができる(例えば、Java 5.0を1.4にバックポートするなど)。
Java 11、17、21は、現在サポートされている長期サポート(LTS)バージョン(「オラクルの顧客は、Oracle Premier Supportを提供される」)である。オラクルは、「レガシー」Java 8 LTSについて、商用利用向けには2019年1月に最後の無料の「パブリック・アップデート」をリリースしたが、それ以外の場合は、少なくとも2020年12月までは、個人利用向けのパブリック・アップデートでJava 8をサポートする[23]。Java 10は以前サポートされていたラピッドリリース版である。Java 10のサポートは、Java 11のサポートが開始されたのと同じ日、2018年9月に終了した。Java 7はパブリックサポートが終了し、Java 9はJava 10と現在のJava 11に取って代わられた短期のラピッドリリース版であったため、アップデートの受信が停止している。Java 11以降については、長期的なアップデートはオラクルが無償で提供するものではなく、より広範なOpenJDKコミュニティが作業を行うことが期待されている[24]。
Java 21の一般提供は2023年9月19日に行われた[25]。
バージョン | リリース日 | 無料公開アップデート期限[26][27] | 延長サポート期限 (Oracleによる有償)[26] | |
---|---|---|---|---|
JDK Beta | 1995 | ? | ? | |
JDK 1.0 | 1996年1月 | ? | ? | |
JDK 1.1 | 1997年2月 | ? | ? | |
J2SE 1.2 | 1998年12月 | ? | ? | |
J2SE 1.3 | 2000年5月 | ? | ? | |
J2SE 1.4 | 2002年2月 | 2008年10月 | 2013年2月 | |
J2SE 5.0 | 2004年9月 | 2009年11月 | 2015年4月 | |
Java SE 6 | 2006年12月 | 2013年4月 | 2018年12月 | |
Java SE 7 | 2011年7月 | 2015年4月 | 2022年7月 | |
Java SE 8 (LTS) | 2014年3月 | Oracle(商用) | 2019年1月まで | 2030年12月 |
Oracle(個人用) | 無期限 | |||
Eclipse Temurin | 最短で2026年11月[28] | |||
Red Hat | 2026年11月[29] | |||
Amazon Corretto | 2026年7月[30] | |||
Azul Zulu | 2030年12月[31] | |||
Java SE 9 | 2017年9月 | Oracle | 2018年3月 | — |
Java SE 10 | 2018年3月 | Oracle | 2018年9月 | — |
Java SE 11 (LTS) | 2018年9月 | Oracle OpenJDK | 2019年9月 | 2032年1月 |
Eclipse Temurin | 最短で2027年10月[28] | |||
Red Hat | 2024年10月[29] | |||
Amazon Corretto | 2027年10月[30] | |||
Azul Zulu | 2032年1月[31] | |||
Java SE 12 | 2019年3月 | Oracle OpenJDK | 2019年9月 | — |
Java SE 13 | 2019年9月 | Oracle OpenJDK | 2020年3月 | — |
Java SE 14 | 2020年3月 | Oracle OpenJDK | 2020年9月 | — |
Java SE 15 | 2020年9月 | Oracle OpenJDK | 2021年3月 | — |
Java SE 16 | 2021年3月 | Oracle OpenJDK | 2021年9月 | — |
Java SE 17 (LTS) | 2021年9月 | Oracle OpenJDK | 2026年9月 | 2029年9月 |
Eclipse Temurin | 最短で2027年10月[28] | |||
Red Hat | 2027年10月[29] | |||
Amazon Corretto | 2029年10月[30] | |||
Azul Zulu | 2029年9月[31] | |||
Java SE 18 | 2022年3月 | Oracle OpenJDK | 2022年9月 | — |
Java SE 19 | 2022年9月 | Oracle OpenJDK | 2023年3月 | — |
Java SE 20 | 2023年3月 | Oracle OpenJDK | 2023年9月 | — |
Java SE 21(LTS) | 2023年9月 | Oracle OpenJDK | 2028年9月 | 2031年9月 |
Eclipse Temurin | 最短で2029年12月[28] | |||
Red Hat | 2029年12月[29] | |||
Amazon Corretto | 2030年10月[30] | |||
Azul Zulu | 2031年9月[31] | |||
Java SE 22 | 2024年3月 | Oracle OpenJDK | 2024年9月 | — |
Java SE 23 | 2024年9月 | Oracle OpenJDK | 2025年3月 | — |
Java SE 24 | 2025年3月 | Oracle OpenJDK | 2025年9月 | — |
凡例 サポート終了 サポート中 現行バージョン 将来のリリース |
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.