JDK 1.0 JDK 1.0 リリース済み 1996年1月23日 ( 1996-01-23 )
最初のバージョンは1996年1月23日にリリースされました。[ 20 ] [ 21 ] 最初の安定版であるJDK 1.0.2はJava 1と呼ばれています。 [ 21 ]
内容は以下の通り。
コア言語機能(java.langに含まれる基本的なJava型、およびjava.utilに含まれるユーティリティクラス) グラフィックスのサポート(AWT フレームワーク) Javaアプレット 作成のサポート入出力 およびネットワーク 用のライブラリ
JDK 1.1 JDK 1.1 リリース済み 1997年2月19日 (1997-02-19 )
1997年2月19日のリリースでの主な追加内容は以下のとおりです。[ 22 ]
J2SE 1.4 J2SE 1.4 コードネーム マーリン リリース済み 2002年2月6日 (2002-02-06 )公共 2008年10月 (2008-10 )有料 2013年2月 (2013-02 )
2002年2月6日のリリースは、Javaコミュニティプロセスの下でJSR 59として開発されたJavaプラットフォームの最初のリリースでした。主な変更点は次のとおりです。[ 28 ] [ 29 ]
Java 1.4 の一般向けサポートとセキュリティアップデートは 2008 年 10 月に終了しました。Oracle の顧客向けの有料セキュリティアップデートは 2013 年 2 月に終了しました。[ 30 ]
Java SE 5 Java SE 5 コードネーム 虎 リリース済み 2004年9月30日 ( 2004-09-30 )公共 2009年11月 (2009-11 )有料 2015年4月 (2015-04 )
2004年9月30日のリリースは当初1.5という番号が付けられており、これは現在も内部バージョン番号として使用されています。この番号は「J2SEの成熟度、安定性、拡張性、セキュリティのレベルをより適切に反映するため」に変更されました。[ 31 ] このバージョンはJSR 176に基づいて開発されました。
Java SE 5 は 2008 年 4 月 8 日に一般向けアップデートの提供を終了しました。2009 年 11 月 3 日以降は一般向けにアップデートが提供されなくなりました。有料の Oracle 顧客は 2015 年 5 月までアップデートを利用できました。[ 4 ]
Tiger では、いくつかの重要な新しい言語機能が追加されました。[ 32 ] [ 33 ]
標準ライブラリには、以下の改良も加えられました。
Java 5 は、 Microsoft Windows 98 およびWindows ME を 公式にサポートした最後の Java リリースです[ 36 ]。 一方、Windows Vista は、Java 5 が 2009 年 10 月にサポート終了となる前に Java SE 5 がサポートされた最新バージョンの Windows でした[ 30 ]。
Java 5 Update 5 (1.5.0_05) は、 Windows 95 ( Internet Explorer 5.5 がインストールされている場合) およびWindows NT 4.0 で動作する最後の Java リリースです。[ 37 ]
Java 5はApple Mac OS X 10.4 (Tiger) [ 38 ] で初めて利用可能になり、Apple Mac OS X 10.5 (Leopard)ではJavaのデフォルトバージョンとしてインストールされました。
Java 1.5の一般向けサポートおよびセキュリティアップデートは2009年11月に終了しました。Oracleのお客様向けの有料セキュリティアップデートは2015年4月に終了しました。
バージョン変更 このバージョンではJava言語に新しいバージョン管理システムが導入されたが、開発者ライブラリには従来のバージョン管理システムが引き続き使用された。
Java 2 Platform Standard Editionのこのリリースを識別するために、「1.5.0」と「5.0」の両方のバージョン番号が使用されます。「5.0」は製品バージョン、「1.5.0」は開発者バージョンです。「5.0」という番号は、J2SEの成熟度、安定性、拡張性、およびセキュリティレベルをより適切に反映するために使用されています。
— 「バージョン1.5.0か5.0か?」、Javaリリースノート[ 39 ]
この対応関係は、後のリリースでも継続されました(Java 6 = JDK 1.6、Java 7 = JDK 1.7など)。
Java SE 6 Java SE 6 コードネーム マスタング リリース済み 2006年11月11日 ( 2006-11-11 )公共 2013年2月 (2013-02 )
2006年12月11日にリリースされたバージョン以降、Sunは「J2SE」という名前をJava SE に変更し、バージョン番号から「.0」を削除しました。[ 40 ] 開発者向けの内部番号は1.6.0のままです。[ 41 ]
このバージョンはJSR 270に基づいて開発されました。
開発段階では、機能強化やバグ修正を含む新しいビルドがほぼ毎週リリースされました。ベータ版は2006年2月と6月にリリースされ、最終版は2006年12月11日にリリースされました。
このバージョンに含まれる主な変更点: [ 42 ] [ 43 ]
Java 6 は、64 ビット (Core 2 Duo 以上) プロセッサ搭載のMac OS X 10.5 (Leopard) マシンにインストールできます。 [ 47 ] Java 6 は、Mac OS X 10.6 (Snow Leopard) を実行している 32 ビットおよび 64 ビットマシンでもサポートされています。
Java 6 は 2013 年 2 月にサポート終了となり、その時点でセキュリティ アップデートを含むすべての公開アップデートが停止される予定でした。[ 48 ] [ 49 ] Oracle は 2013 年 3 月と 4 月に Java 6 のアップデートをさらに 2 回リリースし、いくつかのセキュリティ脆弱性を修正しました。[ 50 ] [ 51 ]
Java 6 のアップデート Java 6 のリリース後、Sun と後に Oracle は、公開 API を変更せずにエンドユーザーの使いやすさを向上させたりバグを修正したりするアップデートをいくつかリリースしました。[ 52 ]
Java SE 7 Java SE 7 コードネーム イルカ[ 89 ] リリース済み 2011年7月28日 ( 2011-07-28 )公共 2015年4月 (2015-04 )有料 2022年6月 (2022-06 )
Java 7 は、2011 年 7 月 7 日にリリースされたメジャーアップデートであり[ 90 ] 、2011 年 7 月 28 日に開発者向けに公開されました[ 91 ] 。開発期間は 13 のマイルストーンに分けられ、2011 年 6 月 6 日に 13 のマイルストーンのうち最後のものが完了しました[ 91 ] [ 92 ] 。平均して、マイルストーンごとに 8 つのビルド (通常は機能強化とバグ修正を含む) がリリースされました。OpenJDK 7 プロジェクトの機能リストには、多くの変更点が記載されています。
Java 7 で追加された機能は以下のとおりです。
Lambda (Java のラムダ関数 の実装)、Jigsaw (Java のモジュール の実装)、および Coin の一部は Java 7 から削除され、Java 8 の一部としてリリースされました ( Jigsaw は Java 9 でリリースされました)。[ 109 ] [ 110 ]
Java 7 は、2012 年 4 月に Java 8 がリリースされるまで、java.com でダウンロードできるデフォルトのバージョンでした。[ 111 ]
Java 7 のアップデート Oracleは、Java 7ファミリーのパブリックアップデートを四半期ごとにリリースしていました[ 112 ]。 これは、製品の一般提供が終了する2015年4月まで続きました[ 113 ] 。 2022年7月まで続いたJDK 7のさらなるアップデートは、サポート契約を結んでいる顧客のみが利用できます[ 114 ] 。
Java SE 8 (LTS)Java SE 8 コードネーム スパイダー リリース済み 2014年3月18日 ( 2014-03-18 )JEP の数 8
Java 8 は 2014 年 3 月 18 日にリリースされ[ 150 ] [ 151 ] 、Java 7 で計画されていたものの後に延期されたいくつかの機能が含まれていました。[ 152 ]
機能開発は、 JDK拡張提案 (JEP)に基づいて組織的に行われた。[ 153 ]
JSR 335、JEP 126: Project Lambda [ 154 ] の下でのラムダ式 (正式にはラムダ式、非公式にはクロージャ )と、既存の実装を壊さずにインターフェースにメソッドを追加するために使用できるデフォルト メソッド (仮想拡張メソッド ) [ 155 ] [ 156 ] [ 157 ] の言語レベルのサポート。ラムダ式のサポートを追加するかどうかについて、Java コミュニティで議論が続いていました。[ 158 ] Sun は後に、ラムダ式が Java に含まれることを宣言し、この機能を改良するためにコミュニティからの意見を求めました。[ 159 ] ラムダ式のサポートにより、MapReduce にインスパイアされたコレクションの変換など、要素のストリームに対する関数型スタイルの 操作も可能になります。デフォルト メソッドを使用すると、API の作成者は、それを使用する古いコードを壊さずに、インターフェースに新しいメソッドを追加できます。主な意図ではなかったものの、[ 155 ] デフォルトメソッドは動作の多重継承 (状態は除く)にも使用できます。 JEP 174: プロジェクト Nashorn、アプリケーションに埋め込まれた JavaScript コードを実行できる JavaScript ランタイム JEP 104: Java 型のアノテーション 符号なし整数演算[ 160 ] JEP 120: 注釈の繰り返し JEP 150: 日付と時刻のAPI JEP 178: 静的リンクされたJNIライブラリ JEP 153: JavaFXアプリケーションの起動(JavaFXアプリケーションJARの直接起動) JEP 122: 永続的な生成を削除する Java 8 はWindows XPではサポートされていません [ 161 ] が、JDK 8 アップデート 25以降は、Windows XPにインストールして実行することができます[ 162 ] 。以前の JDK 8 のアップデートは、アーカイブされた zip 形式のファイルをダウンロードして解凍し、実行ファイルを作成することで、XP 上で実行できました。XP上で実行できる Java 8 の最終バージョンはアップデート 251 です。
2014 年 10 月以降、公式 Web サイトからダウンロードできるデフォルトのバージョンは Java 8 でした (その後、Java 9 に代わって再びダウンロードされました)。[ 163 ] 「Oracle は、個人ユーザー向けに Java SE 8 のパブリック アップデートと自動アップデートを無期限に提供し続けます。」[ 164 ]
Java SE 9 Java SE 9 リリース済み 2017年9月21日 ( 2017-09-21 )JEP の数 9 公共 2018年3月 (2018-03 )
Java SE 9 は、 Java エグゼクティブ委員会による Project Jigsaw の現在の実装に対する議論を呼んだ承認により、2017 年 9 月 21 日にリリースされました[ 249 ] 。 これにより、Oracle はいくつかの未解決の問題や懸念事項を修正し、いくつかの重要な技術的問題を洗練することになりました。2017 年 6 月末には、Java コミュニティ プロセスが、提案されたモジュール システム スキームについてほぼ満場一致の合意を表明しました。[ 251 ]
Java 9 の最初のリリース候補版は 2017 年 8 月 9 日にリリースされました。[ 257 ] Java 9 の最初の安定版は 2017 年 9 月 21 日にリリースされました。[ 258 ]
歴史 JavaOne 2011でOracle は、2016 年に Java 9 でリリースしたい機能について議論しました。[ 259 ] Java 9 には、マルチギガバイトのヒープのサポートの向上、ネイティブ コード統合の向上、異なるデフォルトのガベージコレクタ ( 「応答時間の短縮」のためのG1 ) [ 260 ] 、および自己調整 JVM が含まれるはずです。[ 261 ] 2016 年初頭、Java 9 のリリースは 2017 年 3 月に再スケジュールされ[ 262 ] 、その後さらに 4 か月延期されて 2017 年 7 月にされました。[ 263 ]
Java SE 10 Java SE 10 リリース済み 2018年3月20日 ( 2018-03-20 )JEP の数 12 公共 2018年9月 (2018-09 )
OpenJDK 10は2018年3月20日にリリースされ、12の新機能が確認された。[ 269 ] これらの機能には以下が含まれる。
JEP 286: ローカル変数型推論 JEP 296: JDKフォレストを単一のリポジトリに統合する JEP 304: ガベージコレクタインターフェース JEP 307: G1 用の並列フル GC JEP 310: アプリケーションクラス - データ共有 JEP 312: スレッドローカルハンドシェイク JEP 313: ネイティブヘッダー生成ツール (javah) を削除する JEP 314: 追加のUnicode言語タグ拡張 JEP 316: 代替メモリデバイスにおけるヒープ割り当て JEP 317: 実験的なJavaベースJITコンパイラ JEP 319: ルート証明書 JEP 322: 時間ベースのリリースバージョン管理 これらの変更のうち最初のもの、JEP 286 「ローカル変数の型推論」 では、varコンパイラによって実際の型が計算されたローカル変数に対してキーワードを使用できるようになります。この変更により、開発者は変数の型を手動で指定する代わりに、次の操作を実行できます。
var list = new ArrayList < String > (); // ArrayList<String> を推論します var stream = list . stream (); // Stream<String> を推論します
Java SE 11 (LTS)JDK 11 は 2018 年 9 月 25 日にリリースされ、現在もバグ修正を受け付けています。LTS (長期サポート) が提供されています。Java 11 には、以下のような多くの新機能が含まれています。[ 275 ]
JEP 181: ネストベースのアクセス制御 JEP 309: 動的クラスファイル定数 JEP 315: Aarch64 組み込み関数の改善 JEP 318: イプシロン: 何もしないガベージコレクタ JEP 320: Java EEおよびCORBAモジュールを削除する JEP 321: HTTPクライアント(標準規格) JEP 323: ラムダパラメータのローカル変数構文 JEP 324: Curve25519およびCurve448との重要な合意 JEP 327: Unicode 10 JEP 328: フライトレコーダー JEP 329: ChaCha20およびPoly1305暗号アルゴリズム JEP 330:単一ファイルソースコードプログラムの起動 JEP 331: 低オーバーヘッドヒーププロファイリング JEP 332: トランスポート層セキュリティ (TLS) 1.3 JEP 333: ZGC: スケーラブルな低遅延ガベージコレクタ(実験版) JEP 335: Nashorn JavaScript エンジンを非推奨にする JEP 336: Pack200ツールとAPIを非推奨にする 以前のリリースにあった多くの機能が削除されました。特に、Java アプレット とJava Web Start は 利用できなくなりました。JavaFX 、Java EE 、CORBA モジュールは JDK から削除されました。[ 276 ]
Java SE 12 Java SE 12 リリース済み 2019年3月19日 ( 2019-03-19 )JEP の数 8 プレビュー 拡張されたswitch文 公共 2019年9月 (2019-09 )
JDK 12 は 2019 年 3 月 19 日にリリースされました。Java 12 には、とりわけ次のような多くの新機能が含まれています。[ 330 ]
JEP 189: Shenandoah: 低一時停止時間ガベージコレクタ(実験版) JEP 230: マイクロベンチマークスイート JEP 325:スイッチ式(プレビュー) JEP 334: JVM定数API JEP 340: AArch64ポートは1つ、2つではない JEP 341: デフォルトの CDS アーカイブ JEP 344: G1 用の中止可能な混合コレクション JEP 346: G1から未使用のコミット済みメモリを速やかに返却する プレビュー機能であるJEP 325では、switchステートメントを拡張して式としても使用できるようにし、右辺が式である新しい形式のcaseラベルを追加します。breakステートメントは不要です。複雑な式にはyieldステートメントを使用できます。これはJava SE 14で標準になります。
int ndays = switch ( month ) { case JAN , MAR , MAY , JUL , AUG , OCT , DEC -> 31 ; case APR , JUN , SEP , NOV -> 30 ; case FEB -> { if ( year % 400 == 0 ) yield 29 ; else if ( year % 100 == 0 ) yield 28 ; else if ( year % 4 == 0 ) yield 29 ; else yield 28 ; } };
Java SE 13 Java SE 13 リリース済み 2019年9月17日 ( 2019-09-17 )JEP の数 5 プレビュー 拡張されたswitch文 、テキストブロック 公共 2023年3月 (2023-03 )[ 335 ]
JDK 13は2019年9月17日にリリースされました。Java 13には、以下の新機能に加え、「数百の小さな機能強化と数千のバグ修正」が含まれています。[ 336 ]
JEP 350: 動的CDSアーカイブ JEP 351: ZGC: 未使用メモリのコミットを解除する JEP 353: レガシーソケットAPIの再実装 JEP 354:スイッチ式(プレビュー) JEP 355:テキストブロック(プレビュー) JEP 355 Text Blocks allows multiline string literals:
String html = """ <html lang="en"> <body> <p>Hello, world</p> </body> </html> """ ;
Java SE 14 JDK 14 was released on March 17, 2020. Java 14 includes the following new features, as well as "hundreds of smaller enhancements and thousands of bug fixes".[ 341]
JEP 305: Pattern Matching for instanceof (Preview) JEP 343: Packaging Tool (Incubator) JEP 345: NUMA-Aware Memory Allocation for G1 JEP 349: JFR Event Streaming JEP 352: Non-Volatile Mapped Byte Buffers JEP 358: Helpful NullPointerExceptions JEP 359: Records (Preview) JEP 361: Switch Expressions (Standard) JEP 362: SolarisおよびSPARCポートの非推奨化 JEP 363: コンカレントマークスイープ (CMS) ガベージコレクタの削除 JEP 364: macOS 上での ZGC JEP 365: Windows 上の ZGC JEP 366: ParallelScavenge + SerialOld GC の組み合わせを非推奨にする JEP 367: Pack200ツールとAPIを削除する JEP 368:テキストブロック(第2回プレビュー) JEP 370: 外部メモリアクセスAPI(インキュベーター) JEP 305、instanceof のパターンマッチングは、 instanceofテストの直後にキャストが続く一般的なケースを簡略化し、
if ( obj instanceof String ) { String s = ( String ) obj ; System.out.println ( s.length ( ) ) ; } と
if ( obj instanceof String s ) { System.out.println ( s.length ( ) ) ; } JEP 359レコードにより、単純な不変の タプル のようなクラスを簡単に作成できます。[ 342 ]
record Point ( int x , int y ) { } Point p = new Point ( 3 , 4 ); System . out . println ( p . x ());
Java SE 15 JDK 15 は 2020 年 9 月 15 日にリリースされました。Java 15 では、複数行の文字列リテラル (別名テキスト ブロック) のサポートが追加されました。Shenandoah および Z ガベージ コレクタ (後者は ZGC と略されることもあります) は、本番環境での使用が可能になりました (つまり、実験的とはマークされなくなりました)。Oracle のSolaris オペレーティングシステム (および SPARC CPU) のサポートは終了しました (ただし、Java 11 などでは引き続き利用可能です)。Nashorn JavaScript エンジンは削除されました。また、一部のルートCA 証明書も 削除されました。
JEP 339:エドワーズ曲線デジタル署名アルゴリズム(EdDSA) JEP 360:非公開クラス(プレビュー) JEP 371: 隠れたクラス JEP 372: Nashorn JavaScript エンジンの削除 JEP 373: レガシー DatagramSocket API の再実装 JEP 374: バイアスロックを無効化および非推奨にする JEP 375: instanceof のパターンマッチング (第 2 プレビュー) JEP 377: ZGC: スケーラブルで低遅延なガベージコレクタ JEP 378: テキストブロック JEP 379:シェナンドー:低停止時間型ゴミ収集機 JEP 381: SolarisおよびSPARCポートの削除 JEP 383:外部メモリアクセスAPI(第2インキュベーター) JEP 384:記録(第2回プレビュー) JEP 385: RMI アクティベーションの非推奨化と削除 JEP 360 「シールクラス」 では、他のクラスやインターフェースが継承または実装できる範囲を制限するシールクラスとインターフェースを追加します。permitsクラスまたはインターフェースを継承できるのは、そのクラスまたはインターフェースの節で指定されたクラスのみです。
パッケージ com.example.geometry ; public abstract sealed class Shape permits Circle , Rectangle , Square {...} レコードと並んで、シールクラスは和型 です。レコード、スイッチ式、インスタンスオブのパターンマッチングなど、最近の他の機能ともうまく連携します。これらはすべて、2018 年 9 月にGavin Bierman とBrian Goetzによって初めて議論された「Java のパターンマッチング」のシステムの一部を形成します。 [ 348 ]
Java SE 16 JDK 16 は 2021 年 3 月 16 日にリリースされました。Java 16 では、Ahead-of-Time コンパイル (およびGraal JIT ) オプションが削除されました。[ 354 ] Java の実装自体は、これまでも現在もC++ で記述されていますが、Java 16 以降では、より新しいC++14 (ただし、 C++17 やC++20 などはまだ使用不可) が許可されています。また、ソース管理 システムとしてMercurial が廃止され、コードはGitHubに移行されました。
JEP 338: ベクター API (インキュベーター) JEP 347: C++14言語機能の有効化 JEP 357: MercurialからGitへの移行 JEP 369: GitHubへの移行 JEP 376: ZGC: 並行スレッドスタック処理 JEP 380: Unixドメインソケットチャネル JEP 386: Alpine Linuxへの移植 — まだ安定していません JEP 387: 弾性メタスペース JEP 388: Windows/AArch64への移植 JEP 389: 外部リンカー API (インキュベーター) JEP 390: 値ベースクラスに関する警告 JEP 392: パッケージングツール JEP 393:外部メモリアクセスAPI(第3インキュベーター) JEP 394: instanceof のパターンマッチング JEP 395: 記録 JEP 396: JDK内部をデフォルトで強力にカプセル化する JEP 397:封印制クラス(第2回プレビュー)
Java SE 17 (LTS)JDK 17 は 2021 年 9 月にリリースされました。[ 360 ] Java 17 は、新しい 6 か月ごとのリリースサイクルに移行してから 2 番目の長期サポート (LTS) リリースです (最初のリリースは Java 11 です)。
JEP 306: 常に厳密な浮動小数点セマンティクスを復元する JEP 356: 拡張擬似乱数発生器 JEP 382: 新しいmacOSレンダリングパイプライン JEP 391: macOS/AArch64への移植 JEP 398: アプレットAPIの非推奨化と削除 JEP 403: JDK内部構造を強力にカプセル化する JEP 406: switch文のパターンマッチング(プレビュー) JEP 407: RMI アクティベーションの削除 JEP 409: 封印されたクラス JEP 410: 実験的なAOTおよびJITコンパイラを削除する JEP 411: セキュリティマネージャの非推奨化と削除 JEP 412:外部関数とメモリAPI(インキュベーター) JEP 414:ベクターAPI(第2インキュベーター) JEP 415: コンテキスト固有の逆シリアル化フィルタ JEP 406 は、instanceof 操作で使用されるパターンマッチング構文を switch 文と式に拡張します。これにより、引数の型、null ケース、およびパターンの絞り込みに基づいてケースを選択できるようになります。
Object o = ...; return switch ( o ) { case null -> "Null" ; case String s -> "String %s" . formatted ( s ); case Long l -> "long %d" . formatted ( l ); case Double d -> "double %f" . formatted ( d ); case Integer i && i > 0 // パターンの絞り込み -> "positive int %d" . formatted ( i ); case Integer i && i == 0 -> "zero int %d" . formatted ( i ); case Integer i && i < 0 -> "negative int %d" . formatted ( i ); default -> o . toString (); };
Java SE 18 Java SE 18 リリース済み 2022年3月22日 ( 2022-03-22 )JEP の数 9 注目すべき デフォルトではUTF Javadocコードスニペット プレビュー スイッチパターンマッチング インキュベーション中 注目すべき 削除のための非推奨の最終処理 公共 2022年9月 (2022-09 )
JDK 18は2022年3月22日にリリースされました。[ 392 ]
JEP 400: デフォルトでUTF-8 JEP 408: シンプルなWebサーバー JEP 413: Java APIドキュメントにおけるコードスニペット JEP 416: メソッドハンドルを使用したコアリフレクションの再実装 JEP 417:ベクターAPI(第3インキュベーター) JEP 418: インターネットアドレス解決SPI JEP 419:外部関数とメモリAPI(第2インキュベーター) JEP 420:スイッチのためのパターンマッチング(第2版プレビュー) JEP 421: ファイナライゼーションの非推奨化と削除
Java SE 19 Java SE 19 リリース済み 2022年9月20日 ( 2022-09-20 )JEP の数 7 プレビュー インキュベーション中 公共 2023年3月 (2023-03 )
JDK 19は2022年9月20日にリリースされました。[ 401 ]
JEP 405: レコードパターン (プレビュー) JEP 422: Linux/RISC-Vへの移植 JEP 424: 外部関数とメモリAPI(プレビュー) JEP 425: 仮想スレッド (プレビュー) JEP 426:ベクターAPI(第4インキュベーター) JEP 427: スイッチのためのパターンマッチング(第3プレビュー) JEP 428:構造化並行処理(インキュベーター) JEP 405 では、レコードパターンが、instanceof 演算子や switch 式のパターンマッチング機能を拡張し、レコードの構成要素を明示的に参照するレコードパターンを含めることができるようになります。
レコード Rectangle ( int x , int y , int w , int h ) {} int area ( Object o ) { if ( o instanceof Rectangle ( int x , int y , int w , int h )) { return w * h ; } return 0 ; } このようなパターンには、レコードの構成要素自体がレコードであるようなネストされたパターンが含まれる場合があり、これによりパターンはより多くのオブジェクトグラフに一致させることができる。
Java SE 20 Java SE 20 リリース済み 2023年3月21日 ( 2023-03-21 )JEP の数 7 インキュベーション中 スコープ値 公共 2023年9月 (2023-09 )
Java 20 は 2023 年 3 月 21 日にリリースされました。[ 407 ] すべての JEP はインキュベーターまたはプレビューでした。
JEP 429:スコープ値(インキュベーター) JEP 432:レコードパターン(第2回プレビュー) JEP 433: スイッチのためのパターンマッチング(第4版プレビュー) JEP 434:外部関数とメモリAPI(第2版プレビュー) JEP 436:仮想スレッド(第2回プレビュー) JEP 437:構造化並行処理(第2期インキュベーター) JEP 438: ベクター API (5 番目のインキュベーター)
Java SE 21 (LTS)Java SE 21 リリース済み 2023年9月19日 ( 2023-09-19 )JEP の数 15 注目すべき パターンの記録、スイッチのパターンマッチング、仮想スレッド プレビュー 文字列テンプレート、名前のないクラス、およびメインメソッド インキュベーション中 ベクターAPI
Java 21 は 2023 年 9 月 19 日にリリースされました。[ 413 ] このリリースで、x86 上の Windows 用 Java の32 ビット 版が廃止されました。Java 20 にはプレビューおよびインキュベーション段階の JEP しかなかったのに対し、Java 21 では、インキュベーションおよびプレビュー段階から正式版に移行した 8 つの JEP を含む、以下の JEP が追加されました。Java 21 では、Java 17 ( switch 文 のパターン マッチング) および Java 19 (レコード パターン) で初めてプレビューされた機能が導入されています。Java 21 で追加されたすべての JEP には、次のものが含まれます。
JEP 430:文字列テンプレート(プレビュー) JEP 431: シーケンスコレクション JEP 439: 世代別ZGC JEP 440: レコードパターン JEP 441: スイッチのパターンマッチング JEP 442:外部関数とメモリAPI(第3プレビュー) JEP 443:名前のないパターンと変数(プレビュー) JEP 444: 仮想スレッド JEP 445: 無名クラスとインスタンスのメインメソッド(プレビュー) JEP 446: スコープ付き値(プレビュー) JEP 448: ベクター API (6 番目のインキュベーター) JEP 449: Windows 32ビットx86ポートの非推奨化と削除 JEP 451: エージェントの動的ロードを禁止する準備 JEP 452: キーカプセル化メカニズムAPI JEP 453:構造化並行処理(プレビュー) JEP 445、名前のないクラスのプレビューにより、定型コードのない最小限のメインクラスが可能になります。
void main () { System.out.println ( " Hello, World ! " ) ; } の代わりに :
public class HelloWorld { public static void main ( String [] args ) { System.out.println ( " Hello, World ! " ) ; } }
Java SE 22 Java SE 22 リリース済み 2024年3月19日 ( 2024-03-19 )JEP の数 12 注目すべき 外部関数とメモリAPI、名前のない変数とパターン プレビュー 構造化並行処理、文字列テンプレート インキュベーション中 ベクターAPI 公共 2024年9月 (2024-09 )
Java 22は2024年3月19日にリリースされました。[ 427 ] [ 428 ] このリリースでは、以下の機能(JEP)が追加されました。
JEP 423: G1の領域ピンニング JEP 447: スーパーインテンデント前の声明(...) (プレビュー) JEP 454: 外部関数およびメモリ API JEP 456: 無名変数とパターン JEP 457: クラスファイル API (プレビュー) JEP 458: 複数ファイルソースコードプログラムの起動 JEP 459:文字列テンプレート(第2版プレビュー) JEP 460:ベクターAPI(第7期インキュベーター) JEP 461:ストリームギャザラーズ(プレビュー) JEP 462:構造化並行処理(第2回プレビュー) JEP 463: 暗黙的に宣言されたクラスとインスタンスのメインメソッド(第2版プレビュー) JEP 464: スコープ付き値(第2版プレビュー) Javaのスレッド実装に関連するAPIがjava.lang.Thread.countStackFrames削除されました。[ 3 ] [ 429 ]
Java SE 23 Java SE 23 リリース済み 2024年9月17日 ( 2024-09-17 )JEP の数 12 注目すべき Markdownドキュメントのコメント プレビュー パターン、instanceof、switch におけるプリミティブ型、クラスファイル API、ストリームギャザラー、モジュールインポート宣言、暗黙的に宣言されたクラスとインスタンスの main メソッド、構造化並行処理、スコープ付き値、柔軟なコンストラクタ本体 インキュベーション中 ベクターAPI
Java 23は2024年9月17日にリリースされ、[ 430 ] [ 431 ] [ 432 ] 以下のJEPが含まれています。
JEP 455: パターン、instanceof、およびswitchにおけるプリミティブ型(プレビュー) JEP 466: クラスファイルAPI(第2プレビュー) JEP 467: Markdownドキュメントのコメント JEP 469: ベクターAPI(第8インキュベーター) JEP 473:ストリームギャザラーズ(第2回プレビュー) JEP 471: sun.misc.Unsafe のメモリアクセスメソッドを削除対象から除外する JEP 474: ZGC: デフォルトで世代モード JEP 476: モジュールインポート宣言(プレビュー) JEP 477: 暗黙的に宣言されたクラスとインスタンスのメインメソッド(第3版プレビュー) JEP 480:構造化並行処理(第3回プレビュー) JEP 481: スコープ付き値(第3プレビュー) JEP 482:柔軟なコンストラクタボディ(第2回プレビュー) 文字列テンプレートのプレビュー機能は、その機能の設計上の問題により、Java 23 で削除されました。[ 433 ]
Java SE 24 Java SE 24 リリース済み 2025年3月18日 ( 2025-03-18 )JEP の数 24
Java 24 の仕様は 2024 年 12 月に最終決定され、24 個の JEP がリリースに含まれ、2025 年 3 月 18 日にリリースされました。[ 434 ]
以下の JEP はこのバージョンの Java SE を対象としていました: [ 435 ]
JEP 404:世代間のシェナンドー(実験的) JEP 450: コンパクトオブジェクトヘッダー(実験的)(旧称:プロジェクト・リリパット ) JEP 472: JNIの使用制限の準備 JEP 475: G1に対する後期バリア拡張 JEP 478: キー導出関数API(プレビュー) JEP 479: Windows 32ビット x86ポートを削除する JEP 483: 事前クラスロードとリンク JEP 484: クラスファイルAPI JEP 485: 川の採集者 JEP 486: セキュリティマネージャを恒久的に無効化する JEP 487: スコープ付き値(第4版プレビュー) JEP 488: パターン、instanceof、およびswitchにおけるプリミティブ型(第2版プレビュー) JEP 489:ベクターAPI(第9インキュベーター) JEP 490: ZGC: 非世代モードの削除 JEP 491: ピン留めせずに仮想スレッドを同期する JEP 492:柔軟なコンストラクタボディ(第3回プレビュー) JEP 493: JMODを使用せずにランタイムイメージをリンクする JEP 494: モジュールインポート宣言(第2版プレビュー) JEP 495: シンプルなソースファイルとインスタンスのメインメソッド(第4版プレビュー) JEP 496:量子耐性モジュール格子ベースの鍵カプセル化メカニズム JEP 497:量子耐性モジュール格子ベースのデジタル署名アルゴリズム JEP 498: sun.misc.Unsafe でメモリアクセスメソッドを使用した場合に警告を表示する JEP 499:構造化並行処理(第4回プレビュー) JEP 501: 32ビットx86ポートの非推奨化と削除 Java SE 24は、Microsoft Windows 10の32ビットx86版を公式にサポートする最後のJavaリリースです。
Java SE 25 (LTS)Java SE 25 リリース済み 2025年9月16日 ( 2025-09-16 )JEP の数 18 注目すべき モジュールインポート宣言 フレキシブルコンストラクターボディ プレビュー パターン、instanceof、およびswitchにおけるプリミティブ型 暗号オブジェクトのPEM符号化 注目すべき
Java 25 の仕様は 2025 年 7 月に最終決定され、18 個の JEP がリリースに採用されました。[ 436 ] Java 25 は 2025 年 9 月 16 日にリリースされました。[ 437 ]
JEP 470:暗号オブジェクトのPEMエンコーディング(プレビュー) JEP 502:安定値(プレビュー) JEP 503: 32ビットx86ポートの削除 JEP 505:構造化並行処理(第5回プレビュー) JEP 506: スコープ付き値 JEP 507: パターン、instanceof、およびswitchにおけるプリミティブ型(第3プレビュー) JEP 508: ベクター API (10 番目のインキュベーター) JEP 509: JFR CPU時間プロファイリング(実験的) JEP 510: キー導出関数API JEP 511: モジュールのインポート宣言 JEP 512: コンパクトなソースファイルとインスタンスのメインメソッド JEP 513: 柔軟なコンストラクターボディ JEP 514:事前対策としてのコマンドライン人間工学 JEP 515: 事前メソッドプロファイリング JEP 518: JFR 協力サンプリング JEP 519: コンパクトオブジェクトヘッダー JEP 520: JFR方式のタイミングとトレース JEP 521: 世代別シェナンドー
Java SE 26 Java SE 26 リリース済み 2026年3月17日 ( 2026-03-17 )JEP の数 10 注目すべき アプレットAPI
Java 26 の仕様は 2025 年 12 月に最終決定され、10 個の JEP がリリースに含まれました。[ 438 ] Java 26 は 2026 年 3 月 17 日にリリースされました。[ 439 ]
以下のJEP(Java Extended Program)は、今回のJava SEリリースを対象としています。
JEP 500: 最終試験で良い成績を収めるための準備 JEP 504: アプレットAPIを削除する JEP 516: 任意のGCを使用した事前オブジェクトキャッシング JEP 517: HTTPクライアントAPIのためのHTTP/3 JEP 522: G1 GC: 同期処理の削減によるスループットの向上 JEP 524:暗号オブジェクトのPEMエンコーディング(第2版プレビュー) JEP 525:構造化並行処理(第6回プレビュー) JEP 526:遅延定数(第2回プレビュー) JEP 529:ベクターAPI(第11インキュベーター) JEP 530: パターン、instanceof、およびswitchにおけるプリミティブ型(第4回プレビュー) Java 26では、2021年9月にリリースされたJava 17 以降非推奨となっていたアプレットAPIを使用したJavaアプレット の作成サポートが削除されました。
今後の機能 プロジェクト・ヴァルハラ:値クラス 。そのオブジェクトはアイデンティティを持たないが、特定の場合にはメモリレイアウトが改善される(間接参照が減る)か、割り当てが完全に最適化される。 プロジェクト・パナマ: ネイティブコードとの相互運用性が向上し 、Javaソースコードから他の言語の関数を呼び出したり、データ型を使用したりすることが、現在よりも簡単でパフォーマンスが向上します(このプロジェクトパナマの部分は、JEP 454: Foreign Function & Memory APIの下でJava 22で安定化されています)。Vector APIは、 SIMD プログラミングのための移植性の高い、比較的低レベルの抽象化レイヤーです。その安定性はProject Valhallaに依存しています。 プロジェクト・リリパット:Javaオブジェクトヘッダーのサイズを縮小する。 まずは64ビットまで、次に32ビットまで縮小する。 JITモードでの起動時間とウォームアップ時間(ピーク性能に達するまでの時間)の短縮: CRaCプロジェクトでは、 JVM全体(実行中のアプリケーションを含む)のスナップショットを作成し、必要な調整(ファイルの再オープン、ソケットの再オープンなど)を加えて復元することができます。 プロジェクト・ライデンは、とりわけ、部分的な、あるいは(長期的には)完全なAOTコンパイルを可能にし、(いわゆる「クローズドワールド制約」を採用することによって)全体的なダイナミズムを低減し、動的コンパイルのオーバーヘッドを削減します。 プロジェクト・バビロンは、コードリフレクション(つまり、コード自体に対するリフレクション)と呼ばれる、Java言語のリフレクティブプログラミング 機能を強化することで、Java言語の適用範囲を他のプログラミングモデルにも拡大することを目指しています。主な目標はGPU上でJavaコードを実行することであり、SQLやその他のプログラミングモデルは二次的なターゲットとなっています。
実装 公式にサポートされているJavaプラットフォームは 、Sun Microsystemsで最初に開発され、現在はOracleが管理しているJava SEです。リリースは、 オープンな開発モデルを持つ 無料のオープンソース プロジェクトであるOpenJDK プロジェクトに基づいています。しかし、Javaが初期にプロプライエタリソフトウェア であった歴史もあって、他にもJavaの実装が存在します。対照的に、一部の実装は、標準実装よりも何らかの利点を提供するために作成されており、多くの場合、学術研究や企業スポンサーによる研究の成果です。多くのLinuxディストリビューションには、 Red Hat が開始したIcedTea プロジェクトを通じてOpenJDKのビルドが含まれており、より簡単なビルド および統合 環境を提供しています。
Visual J++ とMicrosoft Java仮想マシンは 、互換性のない実装として開発されました。Sun対Microsoft 訴訟の後、MicrosoftはVisual J++を放棄し、.NET プラットフォームの開発に着手しました。2021年、MicrosoftはJava 11、そしてJava 17に対応した互換性のある「Microsoft Build of OpenJDK」の配布を開始しました。これらのビルドは、Windowsだけでなく、LinuxとmacOS もサポートしています。
Azul 社のZingなど、他にも独自のJava実装が利用可能です。Azul社は、Zuluという名称で認証済みのオープンソースOpenJDKビルドを提供しています。
OpenJDKがリリースされる以前、Sunの実装がまだ独自仕様だった頃、 Javaプラットフォームのフリーかつオープンソースの実装を提供するためにGNU Classpath プロジェクトが作成されました。JDK 7がリリースされ、OpenJDKが公式のリファレンス実装となって以来、GNU Classpathプロジェクトの当初の目的はほぼ完全に失われ、最後のリリースは2012年でした。
Apache Harmony プロジェクトは、OpenJDKのリリース直前に開始されました。Sun Microsystemsが最初のソースコードをリリースした後も、Harmonyプロジェクトは継続され、OpenJDKに採用された保護的な ライセンスとは対照的に、緩やかなライセンスの下で実装を提供することを目指しました。その後、Googleは Android を開発し、緩やかなライセンスの下でリリースしました。AndroidはHarmonyプロジェクトの一部を取り入れ、Google独自のDalvik仮想マシン とART で補完しました。Apache Harmonyはその後廃止され、GoogleはHarmonyコンポーネントをOpenJDKの同等のコンポーネントに置き換えました。
Jikes とJikes RVMは どちらも、IBMが開発したオープンソースの研究プロジェクトです。
他にも、当初はプロプライエタリソフトウェアとして始まったものの、現在はオープンソースとなっている実装がいくつか存在する。IBMは当初、OpenJ9を プロプライエタリなJ9として開発したが[ 440 ] 、その後プロジェクトのライセンスを変更し、Eclipse Foundation に寄贈した。JRockitは 、Oracleが買収し、後続のOpenJDKバージョンに組み込まれたプロプライエタリな実装である。
2025年に最も一般的に使用される実装 Amazonは 、 パフォーマンスの向上やセキュリティ修正を含む長期サポートを備えた、無償でマルチプラットフォーム対応の、本番環境に対応したOpenJDKディストリビューションであるCorretto [ 441 ] を開発しました。CorrettoはJava SE標準との互換性が認定されており、Amazon社内で多くの本番サービスに使用されています。
Eclipse Temurin プロジェクト[ 442 ] は、以前は AdoptOpenJDK として知られており、完全にオープンソースのビルドファームから事前にビルドされた OpenJDK バイナリを提供しています。このプロジェクトは、高品質でベンダーに依存しない Java ランタイムディストリビューションを保証する Adoptium ワーキンググループの一部として、2021 年に Eclipse Foundation に移行しました。
BellSoft Liberica JDK [ 443 ] は、OpenJDK ベースの実装であり、組み込みシステムや古いアーキテクチャのサポートを含む、幅広いプラットフォーム向けのビルドを提供します。標準バージョンと、JavaFX などの追加コンポーネントを含む「フル」バージョンの両方を提供しています。
SAP Machineは、SAPアプリケーションおよびデプロイメント向けに最適化された、 SAPが提供する OpenJDKのダウンストリームディストリビューションです。OpenJDKのリリーススケジュールに合わせて、短期および長期のサポートリリースを提供します。
Alibaba Dragonwell [ 444 ] は、OpenJDK のダウンストリームバージョンで、独自の最適化が施されています。起動パフォーマンス、フットプリント、スループットの向上などが含まれています。
GraalVM [ 445 ] は、従来の Java 実装とは大きく異なるものです。Oracle Labs によって開発された GraalVM は、Java 以外にも JavaScript、Python、Ruby、R など複数の言語をサポートする多言語仮想マシンを提供します。GraalVM には、Java で記述された高度なジャストインタイムコンパイラが含まれており、ネイティブ実行可能ファイルを作成するための事前コンパイルをサポートしているため、起動時間とメモリ使用量を大幅に削減できます。
Red Hat の OpenJDK [ 446 ] は、 Red Hat Enterprise Linux および Windows向けの Red Hat がサポートする OpenJDK ディストリビューションであり、Red Hat のサブスクリプションサービスの一部として長期サポートと定期的なアップデートを提供します。
Semeru Runtime [ 447 ] は、Eclipse OpenJ9 JVM と OpenJDK クラスライブラリをベースとしたIBM の無償 Java ランタイムで、クラウド展開向けに最適化されています。HotSpot ベースの実装と比較して、起動時間の短縮、メモリ使用量の削減、スループットの向上を実現しています。
参考文献 ↑ Reinhold, Mark (2017-09-06). "Javaをより速く前進させる" . 2017-09-16 に取得。 ↑ 「6ヶ月間のJavaリリース列車に全員乗車せよ」 . theserverside.com. 2017-09-12 . 2017-09-16 に閲覧。 1 2 "Remove Thread.countStackFrames" . bugs.openjdk.org . 2024-04-16 に取得. 1 2 3 4 5 6 7 8 9 10 11 「Oracle Java SE サポート ロードマップ」 . oracle.com . ↑ スミス、ドナルド。 「フリーJavaライセンスの紹介」 。 ↑ Reinhold, Mark (2018-08-17). "OpenJDK の LTS の意味は何ですか?" . 2018-08-28 に取得。 ↑ 「OpenJDK JDK 25 一般提供リリース」 。 ↑ 「第4章 クラス ファイル形式 」 ↑ 「Java仮想マシン1.0.2仕様書」 (PDF ) 1 2 3 4 5 6 7 8 9 10 11 12 "Azul JDK ロードマップ" 。 1 2 3 4 5 6 7 「Red Hat OpenJDK ライフサイクルおよびサポート ポリシー」 。2023 年 11 月 19 日。 ↑ 「Oracle Java SE 6 サポート」 。 1 2 3 4 5 6 7 「Liberica JDK ロードマップ」 。 1 2 「IBM Java SDK ライフサイクル」 . IBM . ↑ 「Oracle Java SE 7 サポート」 。 1 2 3 4 5 「IBM Semeru Runtimesライフサイクル」 . IBM . 1 2 3 4 5 「Eclipse Temurin リリース ロードマップ」 。 1 2 3 4 5 「Amazon Corretto サポートカレンダー」 。 1 2 3 「OpenJDK の Microsoft ビルドのサポート ロードマップ」 。 ↑ 「JavaSoftがJava 1.0を出荷」 (プレスリリース)。 2007年3月10日の オリジナルからアーカイブ。 2008年2月5日 取得 。 1 2 オルティス、C. エンリケ。ジゲール、エリック (2001)。 Java 2 Micro Edition のモバイル情報デバイス プロファイル: 開発者ガイド 。 ジョン・ワイリー&サンズ 。 ISBN 978-0-471-03465-0 2012年5月30日 に取得 。↑ バージョン 1.1 プレスリリース、日曜日。 ↑ テナント、ドン(1997年3月15日)。 「タリジェント社 、 国際化技術を本格的に展開へ」 。Computerworld。IDG 。 2021年1 月 16日 取得 。 ↑ バージョン 1.2 プレスリリース、日曜日。 ↑ バージョン 1.3 プレスリリース、日曜日。 ↑ 「バージョン1.3の変更点一覧」 。 2006年11月7日に オリジナル からアーカイブされました。 ↑ 「Windows 95 コンピュータで Java を実行するにはどうすればいいですか? 」 ↑ バージョン1.4のプレスリリース。 ↑ 「バージョン1.4の変更点一覧」 。 2007年1月8日に オリジナル からアーカイブされました。 1 2 「Java 2 Platform 5.0 および Java for Business 5.0」 。Oracle Corporation。2010 年。2012 年 10 月 22 日 取得 。 ↑ 「バージョン1.5.0か5.0か?」 Oracle。 ↑ バージョン1.5のプレスリリース。 ↑ バージョン 1.5 の変更点一覧。 ↑ 「JSR 133、2.4 なぜ既存の仕様ではこのニーズが満たされないのか?」 。Oracle。 ↑ Goetz, Brian (2006). Java Concurrency in Practice . Addison-Wesley. p. xvii. ISBN 0-321-34960-1 。↑ 「Java 5.0 は Java.com では入手できなくなりました」 。Java.com。2009年11月3日。 2016年9月30日 取得 。 ↑ Lineback, Nathan. "Misc Windows 2 – Nathan's Toasty Technology page" . 2016年9月30日 取得 。 ↑ Yank, Kebin (2005年5月3日). 「Java 5がMac OS Xで利用可能に」 . Sitepoint . 2016年 9月30日 取得 。 ↑ 「バージョン1.5.0か5.0か?」 Oracle.com 。 2016年 4月18日 取得 。 ↑ Javaのブランド名。 ↑ バージョン 6、Java Web ノート、Sun。 ↑ バージョン1.6のプレスリリース。 ↑ バージョン 1.6 の変更点一覧。 ↑ Javaロビー ↑ 「Mustang's HotSpot」 。 2007年1月2日に オリジナル からアーカイブされました。 ↑ Darcy, Joe (2008-08-03). "適切な代替品" . 2009-07-29 に取得。 ↑ 「Mac OS X Leopard に Java 6 をインストールする | Gephi、オープンソースのグラフ可視化ソフトウェア」 。Gephi.org。2016 年 9 月 30 日 に取得 。 ↑ 「Oracle Java SE サポート ロードマップ」 。Oracle Corporation。2012 年 9 月 19 日。2012 年 10 月 22 日 取得 。 ↑ 「JRE 6 の自動更新および Java コントロール パネルによる更新により、JRE 6 は JRE 7 に置き換えられます」 。Oracle Corporation。2013 年 2 月 19 日。2013 年 3 月 2 日 に取得 。 ↑ 「Java SE Development Kit 6、Update 43 リリース ノート」 。Oracle Corporation。2013 年 3 月 4 日。2013 年 3 月 4 日 取得 。 ↑ 「Java SE Development Kit 6、Update 45 リリース ノート」 。Oracle Corporation。2013 年 3 月 4 日。2013 年 3 月 4 日 取得 。 ↑ 「Java SE 6 アップデート リリース ノート」 。ora cle.com 。 1 2 3 「Oracle Javaテクノロジー | Oracle」 . oracle.com . ↑ 「Nimbus — Java.net」 。 2020年 2月1日 取得 。 {{cite web}}: CS1メンテナンス: アーカイブサービスは非推奨になりました (リンク)↑ 「Sun Java 6 Update 11が利用可能になりました。JavaFXを待っています」 。FindMySoft.com 。 2009年11月13日 取得 。 ↑ ハンブル、チャールズ (2008-05-13). "JavaOne: Garbage First" . infoq.com . 2008-09-07 に取得. ↑ Coward, Dany (2008-11-12). "Java VM: JDK 7 用の新しいガベージコレクターを試しています" . 2011-12-08 の オリジナルからアーカイブ済み 。2012-01-22 に 取得 。 ↑ 「JDK 1.6.0_14 ではブレークポイントがヒットしない」 。 2009年7月14日 取得。 ↑ 「バグID: 6862295 デバッグセッション中にJDWPのスレッドIDが変更される(ブレークポイントが無視される原因となる)」 。 2009年7月22日 取得 。 ↑ 「Oracle Java SE クリティカル パッチ アップデート アドバイザリ – 2011 年 6 月」 。ora cle.com 。 ↑ 「Oracle Java SE クリティカル パッチ アップデート アドバイザリ – 2011 年 10 月」 。ora cle.com 。 ↑ 「Java 6 Update 32 のインストールに失敗しました...」 MSFN。 2016年8月16日に オリジナルからアーカイブされました 。 2016年7月31日 に取得。 1 2 「CVE-2012-4681 に関する Oracle セキュリティ警告」 。Oracle Corporation 。 ↑ 「Oracle Java SE クリティカル パッチ アップデート アドバイザリ – 2013 年 4 月」 。ora cle.com 。 ↑ 「Javaをアップグレードする必要があるのはなぜですか ?」 . java.com . 1 2 「Oracle Java クリティカル パッチ アップデート – 2013 年 6 月」 . oracle.com . 1 2 「Oracle クリティカル パッチ アップデート – 2013 年 10 月」 . oracle.com . 1 2 「Oracle クリティカル パッチ アップデート – 2014 年 4 月」 . oracle.com . ↑ 「Oracle クリティカル パッチ アップデート – 2014 年 7 月」 。ora cle.com 。 ↑ 「Oracle クリティカル パッチ アップデート – 2014 年 10 月」 。ora cle.com 。 ↑ 「Java SE 6 リファレンス実装」 。Oracle Corporation 。 2016年10月24日 取得 。 ↑ 「Oracle クリティカル パッチ アップデート アドバイザリ – 2015 年 1 月」 。ora cle.com 。 ↑ 「Oracle クリティカル パッチ アップデート – 2015 年 4 月」 。ora cle.com 。 ↑ 「Oracle クリティカル パッチ アップデート アドバイザリ – 2015 年 7 月」 。2015 年 7 月 15 日に取得 。 ↑ 「Oracle クリティカル パッチ アップデート アドバイザリ – 2015 年 10 月」 。2015 年 10 月 20 日 に取得。 ↑ 「Oracle クリティカル パッチ アップデート アドバイザリ – 2016 年 1 月」 。2016 年 1 月 20 日 に取得 。 1 2 「Oracle Security Alert for CVE-2016-0603」 。 2016年2月8日 取得。 ↑ 「Oracle Critical Patch Update CVSS V2 リスクマトリックス – 2016 年 4 月」 。2016 年 4 月 21 日 に取得。 1 2 「Oracle クリティカル パッチ アップデート アドバイザリ – 2016 年 7 月」 。2016 年 7 月 19 日 に取得。 1 2 「Oracle クリティカル パッチ アップデート アドバイザリ – 2016 年 10 月」 。2016 年 10 月 18 日 に取得。 1 2 「Oracle クリティカル パッチ アップデート アドバイザリ – 2017 年 1 月」 。2017 年 1 月 17 日 に取得。 ↑ 「Oracle クリティカル パッチ アップデート アドバイザリ – 2017 年 4 月」 。2017 年 4 月 18 日 に取得。 1 2 「Oracle クリティカル パッチ アップデート アドバイザリ – 2017 年 7 月」 。2017 年 7 月 18 日 に取得。 1 2 「Oracle クリティカル パッチ アップデート アドバイザリ – 2017 年 10 月」 。2017 年 10 月 20 日 に取得。 1 2 「Oracle クリティカル パッチ アップデート アドバイザリ – 2018 年 1 月」 。2017 年 10 月 20 日 に取得。 1 2 「Oracle クリティカル パッチ アップデート アドバイザリ – 2018 年 4 月」 。2018 年 4 月 17 日 に取得。 1 2 「Oracle クリティカル パッチ アップデート アドバイザリ – 2018 年 7 月」 。2018 年 7 月 17 日 に取得。 1 2 「Oracle クリティカル パッチ アップデート アドバイザリ – 2018 年 10 月」 。2018 年 10 月 18 日 に取得。 ↑ JDK7 は、 Wayback Machine に 2016-12-15 にアーカイブされました。 ↑ 「Java 7 の紹介 Web キャスト: Java の未来へ」 。Oracle Corporation。2011 年 7 月 7 日。2012 年 5 月 30 日 に取得 。 1 2 "JDK 7" . openjdk.java.net . ↑ 「JDK 7 マイルストーン」 。OpenJDK。Oracle Corporation 。 2012 年 5月30日 取得 。 ↑ 「JSR 292: Javaプラットフォーム上での動的型付け言語のサポート」 。 2013年 8月25日 取得。 ↑ 「Hotspot JVM の圧縮 oops 」 。OpenJDK。2012-08-01 取得 。 ↑ 「Java HotSpot VM オプション」 。Oracle 。 2013年4月11日 取得 。 ↑ 「Javaプログラミング言語の拡張機能」 。Download.oracle.com 。 2013年1月15日 取得 。 ↑ 「switch文の文字列」 . Download.oracle.com . 2013年1月15日 取得 。 ↑ 「try-with-resourcesステートメント」 . Download.oracle.com . 2013年1月15日 取得 。 ↑ 「汎用インスタンス作成のための型推論」 。Download.oracle.com 。 2013年1月15日 取得 。 ↑ 「可変長引数メソッドで非反復可能な仮引数を使用する場合のコンパイラ警告の改善」 。Download.oracle.com 。 2013年1月15日 取得 。 ↑ 「バイナリリテラル」 . Download.oracle.com . 2013年1月15日 取得 。 ↑ 「数値リテラル内のアンダースコア」 . Download.oracle.com . 2013年1月15日 取得 。 ↑ 「複数の例外タイプをキャッチし、型チェックを改善して例外を再スローする」 。Download.oracle.com 。 2013年1月15日 取得 。 ↑ 「並行処理 JSR-166」 。 2010年4月16日 取得 。 ↑ "ファイルI/O(NIO.2搭載)" . Java.sun.com. 2008-03-14 . 2013-01-15 に取得. ↑ 「レガシーファイルI/Oコード」 。Java.sun.com。2012年2月28日。 2013年1月15日 取得 。 ↑ 「JDK 7 の機能」 。OpenJDK。2011-07-28。2013-03-15 に 取得 。 ↑ 「デプロイメントルールセットの紹介」 。Oracle。2013年8月21日。 2019年1月22日 取得 。 ↑ 「JavaOne 2011 基調講演」 。Oracle。 2011年10月26日に オリジナル からアーカイブ済み。 1 2 「プロジェクトジグソー」 。 OpenJDK。 「Javaモジュール - システム要件 - ドラフト12」。Oracle。 Krill, Paul (2012年7月18日). 「Project JigsawはJava 9まで延期」 . InfoWorld . 2020年7月15日 閲覧 . ↑ 「Java 7 の自動更新と Java 6」 。Oracle。 ↑ 重要なパッチアップデートの表には、1年あたり4つの日付が表示されています。 ↑ 「Java 7 のパブリック アップデートの終了」 。2015 年 4 月以降、Oracle は Java SE 7 のアップデートをパブリック ダウンロード サイトに掲載しなくなります。2015 年 4 月時点で既に公開されている既存の Java SE 7 ダウンロードは、Oracle Technology Network の Java Archive で引き続きアクセスできます。開発者およびエンド ユーザーは、パブリック アップデートとセキュリティ強化を引き続き受け取るために、パブリック ダウンロードが可能な最新の Java SE バージョンにアップデートすることをお勧めします。[...] 2015 年 7 月: Java 7 のアップデートは一般公開されなくなりました。Oracle は、Java サポートを購入済みのお客様、または Java 7 を必要とする Oracle 製品をお持ちのお客様にのみ、Java 7 のアップデートを提供します。 ↑ 「Oracle Java SE サポート ロードマップ」 。Oracle Corporation。2014年12月19日。 2015年1月7日 取得 。 ↑ 「JDK 7 リリースノート」 . oracle.com . ↑ 「Oracle Java SE クリティカル パッチ アップデート アドバイザリ – 2012 年 2 月」 。ora cle.com 。 ↑ 「Oracle Java SE クリティカル パッチ アップデート アドバイザリ – 2012 年 6 月」 。ora cle.com 。 ↑ 「Java SE 7 Update 6 がリリースされました」 。2012年10月27日に オリジナル からアーカイブされました 。 ↑ 「Oracle Java SE クリティカル パッチ アップデート アドバイザリ – 2012 年 10 月」 。ora cle.com 。 ↑ 「CVE-2013-0422に関するOracleセキュリティアラート」 。Oracle Corporation 。 ↑ 「Oracle Java SE クリティカル パッチ アップデート アドバイザリ – 2013 年 2 月」 。ora cle.com 。 ↑ 「OracleがJavaの40の脆弱性に対する修正プログラムをリリース – The H Security: News and Features」 . h-online.com . ↑ 「Java SE Development Kit 7 Update 40 バグ修正」 。ora cle.com 。 ↑ 「Oracle JDK 7u40 リリース – セキュリティ機能、ハードフロート ARM、Java Mission Control など」 。2013年 10 月 2 日の オリジナル からアーカイブされています。 ↑ Oracle、Java、その他製品にパッチを適用へ(火曜日)、 ZDNet 、 ↑ 「Oracle クリティカル パッチ アップデート – 2014 年 1 月」 。ora cle.com 。 ↑ 「Java SE Development Kit 7 Update 55 バグ修正」 。ora cle.com 。 ↑ 「Java Mission Control 5.3 リリースノート」 。ora cle.com 。 ↑ 「Java SE Development Kit 7 Update 60 Bug Fixes」 . oracle.com . 1 2 「Java CPU および PSU リリースの説明」 . oracle.com . ↑ 「Oracle クリティカル パッチ アップデート アドバイザリ – 2015 年 7 月」 。ora cle.com 。 ↑ 「Oracle クリティカル パッチ アップデート アドバイザリ – 2015 年 10 月」 。ora cle.com 。 ↑ 「Oracle クリティカル パッチ アップデート – 2016 年 1 月」 。www.oracle.com。2016 年 1 月 20 日 に 取得 。 ↑ 「Java SE Development Kit 7、Update 99」 。 2016年3月23日 取得 。 ↑ 「Oracle クリティカル パッチ アップデート アドバイザリ – 2016 年 4 月」 。2016 年 4 月 18 日 に取得。 ↑ 「Oracle クリティカル パッチ アップデート アドバイザリ – 2017 年 4 月」 。2017 年 4 月 18 日 に取得。 ↑ 「Oracle クリティカル パッチ アップデート アドバイザリ – 2019 年 1 月」 。2019 年 4 月 18 日 に取得 。 ↑ 「Oracle クリティカル パッチ アップデート アドバイザリ – 2019 年 4 月」 。2019 年 4 月 18 日 に取得。 ↑ 「Oracle クリティカル パッチ アップデート アドバイザリ – 2019 年 7 月」 。2020 年 1 月 7 日 に取得。 ↑ 「Oracle クリティカル パッチ アップデート アドバイザリ – 2019 年 10 月」 。2020 年 1 月 7 日 に取得。 ↑ 「Oracle クリティカル パッチ アップデート アドバイザリ – 2020 年 1 月」 。2021 年 4 月 22 日 に取得 。 ↑ 「Oracle クリティカル パッチ アップデート アドバイザリ – 2020 年 4 月」 。2021 年 4 月 22 日 に取得。 ↑ 「Oracle クリティカル パッチ アップデート アドバイザリ – 2020 年 7 月」 。2021 年 4 月 22 日 に取得 。 ↑ 「Oracle クリティカル パッチ アップデート アドバイザリ – 2020 年 10 月」 。2021 年 4 月 22 日 に取得。 ↑ 「Oracle クリティカル パッチ アップデート アドバイザリ – 2021 年 1 月」 。2021 年 4 月 22 日 に取得 。 ↑ 「Oracle クリティカル パッチ アップデート アドバイザリ – 2021 年 4 月」 。2021 年 4 月 22 日 に取得 。 ↑ 「JDK 7 および JDK 7 アップデート リリースのリリース ノート」 。2022 年 1 月 25 日 に取得。 ↑ 「JDK 7 および JDK 7 アップデート リリースのリリース ノート」 。2022 年 1 月 25 日 に取得。 ↑ 「JDK 7 および JDK 7 アップデート リリースのリリース ノート」 。2022 年 1 月 25 日 に取得。 ↑ 「Java 8 の新しいスケジュール案」 。2013-04-18。2013-04-19 に 取得 。 ↑ "JDK 8" . OpenJDK. 2013-04-18 . 2014-01-28 に取得 . ↑ 「JDK 8 の機能」 。OpenJDK。2014-01-28。2014-01-28 に 取得 。 ↑ 「JSR 337」 。 2014年1月30日 取得 。 ↑ 「Java 7 の機能」 。サン・マイクロシステムズ。2010年2月9日。 2010年4月16日 取得 。 1 2 「仮想拡張メソッドによるインターフェースの進化」 (PDF) 。 Brian Goetz。2011-07-20。2014-03-27 に 取得 。 ↑ 「Javaプログラミング言語のためのラムダ式」 。Brian Goetz。2012年10月23日。 2014年3月27日 取得 。 ↑ 「Javaチュートリアル:デフォルトメソッド」 。Oracle。 2017年5月23日に オリジナルからアーカイブ済み 。 2014年3月27日 に取得。 ↑ ゴスリング、ジェームズ (2008-01-31)。 「閉鎖」 。2011-07-22の オリジナル からアーカイブ 。2008-03-09 に 取得 。 ↑ Reinhold, Mark (2009-11-28). "Java のクロージャ" . 2009-11-24 に取得。 ↑ Darcy, Joe. "Unsigned Integer Arithmetic API が JDK 8 に搭載されました" . blogs.oracle.com . ↑ 「Oracle JDK 8およびJRE 8認定システム構成」 。Oracle Corporation 。 2014年4月15日 取得。 ↑ Stahl, Henrik (2014-07-11). "更新: Windows XP での Java の将来" . Oracle Corporation . 2014-11-11 の オリジナルからアーカイブ . 2014-11-11 に取得 . JDK 8 は Windows XP ではサポートされていません。JDK 8 の初期バージョンには、 Windows XP のインストーラに既知の問題があり 、手動での介入なしにはインストールできませんでした。これは JDK 8 Update 25 で解決されました。ここで重要なのは、 OS が Microsoft によって更新されなくなったため、Windows XP での Java の完全な保証を提供できなくなったことです。安定した安全な環境を維持するために、Microsoft がサポートしている新しいバージョンの Windows にアップグレードすることを強くお勧めします。 ↑ トーリ・ウィールト(2014年10月27日)。 「Java.com の Java SE 8」 。blog.oracle.com 。 2014年11月29日の オリジナル からアーカイブ済み 。 2014 年 11月24日 取得。 ↑ 「Oracle Java SE サポートロードマップ」 。 2021年2月17日 取得 。 ↑ "Java SE Development Kit 8, Update 5 (JDK 8u5)" . oracle.com . 2014-04-28 取得 . ↑ "Java SE Development Kit 8, Update 11 (JDK 8u11)" . oracle.com . 2014-07-16 に取得 . ↑ 「18件のセキュリティバグ修正」 。ora cle.com 。 2014年7月16日 取得。 ↑ "Java SE Development Kit 8, Update 20 (JDK 8u20)" . oracle.com . 2014年8月27日 取得 . ↑ 「Java SE Development Kit 8 Update 20 バグ修正」 。ora cle.com 。 ↑ "Java SE Development Kit 8, Update 25 (JDK 8u25)" . oracle.com . 2014年10月14日 取得 . ↑ "Java SE Development Kit 8、Update 31 (JDK 8u31)" . oracle.com . 2015年1月21日 取得 . ↑ "Java SE Development Kit 8, Update 40 (JDK 8u40)" . oracle.com . 2015年3月4日 取得 . ↑ 「Java SE Development Kit 8 Update 40 バグ修正」 。ora cle.com 。 ↑ "Java SE Development Kit 8、Update 45 (JDK 8u45)" . oracle.com . 2015年4月15日 取得 . ↑ "Java SE Development Kit 8、Update 51 (JDK 8u51)" . oracle.com . 2015年7月14日 取得 . ↑ "Java SE Development Kit 8, Update 60 (JDK 8u60)" . oracle.com . 2015年8月18日 取得 . ↑ 「Java SE Development Kit 8 Update 60 Bug Fixes」 . oracle.com . ↑ "Java SE Development Kit 8、Update 65 (JDK 8u65)" . oracle.com . 2015年10月20日 取得 . ↑ 「Java SE Development Kit 8、Update 66 リリース ノート」 。ora cle.com。2015 年 10 月 22 日 取得 。 ↑ 「Java SE Development Kit 8、Update 71 リリース ノート」 。ora cle.com。2015 年 1 月 20 日 取得 。 ↑ 「Java SE Development Kit 8 Update 71 Bug Fixes」 。ora cle.com 。 2015年 1月20日 取得 。 ↑ 「Java SE Development Kit 8、アップデート72 リリースノート」 。ora cle.com 。 ↑ 「Java SE Development Kit 8、Update 73 リリース ノート」 。ora cle.com。2016 年 2 月 6 日 取得 。 ↑ 「Java SE Development Kit 8、Update 74 リリース ノート」 。ora cle.com。2016 年 2 月 6 日 取得 。 ↑ 「Java SE Development Kit 8、Update 77 リリース ノート」 。ora cle.com。2016 年 3 月 23 日 取得 。 ↑ 「Java SE Development Kit 8、Update 91 リリース ノート」 。ora cle.com。2016 年 3 月 23 日 取得 。 ↑ 「Java SE Development Kit 8、アップデート92 リリースノート」 。 2016年 3月23日 取得 。 ↑ 「Java SE Development Kit 8、アップデート101 リリースノート」 。 2016年 7月19日 取得 。 ↑ 「Java SE Development Kit 8、アップデート102 リリースノート」 。 2016年 7月19日 取得 。 ↑ 「Java SE Development Kit 8、アップデート111 リリースノート」 。 2016年 10月19日 取得 。 ↑ 「Java SE Development Kit 8、アップデート112 リリースノート」 。 2016年 10月19日 取得 。 ↑ 「Java SE Development Kit 8、アップデート121リリースノート」 。 2016年 1月17日 取得 。 ↑ 「Java SE Development Kit 8、アップデート131リリースノート」 。ora cle.com 。 2017年4月18日 取得 。 ↑ 「Java SE Development Kit 8、アップデート141リリースノート」 。ora cle.com 。 2017年7月18日 取得 。 ↑ 「Java SE Development Kit 8、アップデート144 リリースノート」 。ora cle.com 。 2017年7月26日 取得 。 ↑ 「Java SE Development Kit 8、アップデート151 リリースノート」 。ora cle.com 。 2017年10月19日 取得 。 ↑ 「Java SE Development Kit 8、アップデート152 リリースノート」 。ora cle.com 。 2017年10月19日 取得 。 ↑ 「Java SE Development Kit 8、アップデート161 リリースノート」 。ora cle.com 。 2018年1月18日 取得 。 ↑ 「Java SE Development Kit 8、アップデート162 リリースノート」 。ora cle.com 。 2018年1月16日 取得 。 ↑ 「Java SE Development Kit 8、アップデート171 リリースノート」 。ora cle.com 。 2018年4月17日 取得 。 ↑ 「Java SE Development Kit 8、アップデート172 リリースノート」 。ora cle.com 。 2018年4月17日 取得 。 ↑ 「Java SE Development Kit 8、アップデート181リリースノート」 。ora cle.com 。 2018年7月20日 取得 。 ↑ 「Java SE Development Kit 8、アップデート191 リリースノート」 。ora cle.com 。 2018年10月16日 取得 。 ↑ 「Java SE Development Kit 8、アップデート192 リリースノート」 。ora cle.com 。 2018年10月16日 取得 。 ↑ 「Java SE Development Kit 8、Update 201 リリース ノート」 。ora cle.com 。 2019年1月16日 取得 。 ↑ 「Java SE Development Kit 8、Update 202 リリース ノート」 。ora cle.com 。 2019年1月16日 取得 。 ↑ 「Java SE Development Kit 8、アップデート211リリースノート」 。ora cle.com 。 2019年4月16日 取得 。 1 2 「Java SE Development Kit 8、Update 212 リリース ノート」 。ora cle.com 。 2019年4月16日 取得 。 ↑ 「Java SE Development Kit 8、アップデート221リリースノート」 。ora cle.com 。 2019年7月30日 取得 。 ↑ 「Java SE Development Kit 8、アップデート231リリースノート」 。ora cle.com 。 2019年10月16日 取得 。 ↑ 「Java SE Development Kit 8、アップデート241リリースノート」 。ora cle.com 。 2020年1月18日 取得 。 ↑ 「Java SE Development Kit 8、Update 251 リリース ノート」 。ora cle.com 。 2020年4月14日 取得 。 ↑ 「Java SE Development Kit 8、アップデート261リリースノート」 。ora cle.com 。 2022年4月19日 取得 。 ↑ "JDK 8u261 バグ修正" . oracle.com . 2022-04-19 取得 . ↑ 「Java SE Development Kit 8、アップデート271リリースノート」 。ora cle.com 。 2022年4月19日 取得 。 ↑ 「JDK 8u271 バグ修正」 。ora cle.com 。 2022年4月19日 取得 。 ↑ 「Java SE Development Kit 8、アップデート281リリースノート」 。ora cle.com 。 2022年4月19日 取得 。 ↑ "JDK 8u281 バグ修正" . oracle.com . 2022-04-19 取得 . ↑ 「Java SE Development Kit 8、アップデート291リリースノート」 。ora cle.com 。 2022年4月19日 取得 。 ↑ "JDK 8u291 バグ修正" . oracle.com . 2022-04-19 取得 . ↑ 「Java SE Development Kit 8、アップデート301リリースノート」 。ora cle.com 。 2022年4月19日 取得 。 ↑ "JDK 8u301 バグ修正" . oracle.com . 2022-04-19 取得 . ↑ 「Java SE Development Kit 8、アップデート311リリースノート」 。ora cle.com 。 2022年4月19日 取得 。 ↑ 「JDK 8u311 バグ修正」 。ora cle.com 。 2022年4月19日 取得 。 ↑ 「Java SE Development Kit 8、アップデート321リリースノート」 。ora cle.com 。 2022年4月19日 取得 。 ↑ 「Java SE Development Kit 8、アップデート321のバグ修正」 。ora cle.com 。 2022年4月19日 取得 。 ↑ 「Java SE Development Kit 8、Update 331 リリース ノート」 。ora cle.com 。 2022年4月19日 取得 。 ↑ 「Java SE Development Kit 8、アップデート331のバグ修正」 。ora cle.com 。 2022年4月19日 取得 。 ↑ 「Java SE Development Kit 8、Update 333 リリース ノート」 。ora cle.com 。 2022年5月2日 取得 。 ↑ 「Java SE Development Kit 8、アップデート333のバグ修正」 。ora cle.com 。 2022年5月2日 取得 。 ↑ 「Java SE Development Kit 8、アップデート341リリースノート」 。ora cle.com 。 2022年7月30日 取得 。 ↑ 「Java SE Development Kit 8、アップデート341のバグ修正」 。ora cle.com 。 2022年7月30日 取得 。 ↑ 「Java SE Development Kit 8、Update 351 リリース ノート」 。ora cle.com 。 2022年10月18日 取得 。 ↑ 「Java SE Development Kit 8、アップデート351のバグ修正」 。ora cle.com 。 2022年10月18日 取得 。 ↑ 「Java SE Development Kit 8、Update 361 リリース ノート」 。ora cle.com 。 2023年3月24日 取得 。 ↑ 「Java SE Development Kit 8、アップデート371リリースノート」 。ora cle.com 。 ↑ 「Java SE Development Kit 8、アップデート381リリースノート」 。ora cle.com 。 2023年9月12日 取得 。 ↑ 「Java SE Development Kit 8、アップデート391リリースノート」 。ora cle.com 。 2023年11月15日 取得 。 ↑ 「Java SE Development Kit 8、アップデート401 リリースノート」 。ora cle.com 。 1 2 「Java SE Development Kit 8、アップデート 411 リリース ノート」 . oracle.com . ↑ 「Java SE Development Kit 8、アップデート421リリースノート」 。ora cle.com 。 ↑ 「Java SE Development Kit 8、アップデート431リリースノート」 。ora cle.com 。 ↑ 「Java SE Development Kit 8、アップデート441リリースノート」 。ora cle.com 。 ↑ 「Java SE Development Kit 8、アップデート451リリースノート」 。ora cle.com 。 ↑ 「Java SE Development Kit 8、アップデート461 リリースノート」 。ora cle.com 。 ↑ 「Java SE Development Kit 8、アップデート471リリースノート」 。ora cle.com 。 ↑ 「Java SE Development Kit 8、アップデート481リリースノート」 。ora cle.com 。 ↑ 「Java SE Development Kit 8、アップデート491 リリースノート」 。ora cle.com 。 ↑ 「JDK 9」 。 2017年6月16日 取得 。 ↑ 「Red HatとIBMが反対したJavaモジュール仕様は否決された」 。InfoWorld 。 2017年5月9日。 2017年6月16日 閲覧 。 ↑ リチャード・チャーグウィン(2017年7月2日) 「Java 9のリリースが軌道に乗った、コミュニティは賛成票を投じた」 " . theregister.co.uk . 2017-07-29 に取得.↑ 「Java Platform , Standard Edition Oracle JDK 9 移行ガイド」 。docs.oracle.com 。 2018年 5月15日 取得 。 ↑ 「OpenJDK: プロジェクト Kulla」 。 ↑ Lea, Doug (2015年1月15日). " [ concurrency-interest ] jdk9 候補クラス Flow および Submission Publisher" . 2015年1月20日の オリジナルからアーカイブ済み。 2015年 12月24日 取得 。 ↑ "Flow (Java SE 9 & JDK 9)" . docs.oracle.com . ↑ Reactive StreamsがJVM向け初の安定版をリリース ↑ 「JDK 9: 最初のリリース候補」 。2017年8月9日。 2017年8月21日 取得 。 ↑ 「Java 9: リリース日と新機能」 . techworld.com. 2017-07-21. 2017-12-07 の オリジナルからアーカイブ。2017-09-16 に 取得 。 「JDK 9」。Oracle Corporation 。2017年9月16日 取得。 ↑ 「カレンダーに印をつけてください:Java 9のリリース日がついに決定しました」 。2015年5月7日。 ↑ 「Java 9の新しいガベージコレクタ:何が変わるのか?何が残るのか?」 2015年6月26日。 ↑ 「JavaOne: JavaFX 2、iOS 上の Java」 。 ↑ 「Java 9 のリリース日は 2017 年 3 月に変更」 2016-01-05. ↑ 「JDK 9のリリースがさらに4ヶ月延期」 。The Register 。 2016年10月14日 取得。 ↑ 「JDK 9 リリースノート」 。oracle.com。2017年9月21日。 ↑ 「JDK 9.0.1 リリースノート」 。oracle.com。2017年10月17日。 ↑ 「JDK 9.0.1 バグ修正」 。ora cle.com 。2017年10月17日。 ↑ 「JDK 9.0.4 リリースノート」 。oracle.com。2018年1月16日。 ↑ 「JDK 9.0.4 バグ修正」 。ora cle.com。2018-01-16 。 ↑ 「JDK 10」 。 ↑ 「JDK 10 リリースノート」 。oracle.com。2018年3月20日。 ↑ 「JDK 10.0.1 リリースノート」 。oracle.com。2018年4月17日。 ↑ 「JDK 10.0.1 バグ修正」 。oracle.com。2018年4月17日。 ↑ 「JDK 10.0.2 リリースノート」 。oracle.com。2018年7月17日。 ↑ 「JDK 10.0.2 バグ修正」 。oracle.com。2018年7月17日。 ↑ OpenJDK。 「JDK 11」 。 ↑ 「Oracle JDK移行ガイド」 。Oracle ヘルプセンター。 2018年 9月27日 取得 。 ↑ 「JDK 11」 。oracle.com。2018年9月25日。 ↑ 「JDK 11.0.1 リリースノート」 。oracle.com。2018年10月16日。 ↑ 「JDK 11.0.1 バグ修正」 。ora cle.com。2018-10-16 。 ↑ 「JDK 11.0.2 リリースノート」 。oracle.com。2019年1月15日。 ↑ 「JDK 11.0.2 バグ修正」 . oracle.com . 2019-01-15. ↑ 「JDK 11.0.3 リリースノート」 。oracle.com。2019年4月16日。 ↑ 「JDK 11.0.3 バグ修正」 。ora cle.com 。2019年4月16日。 ↑ 「JDK 11.0.4 リリースノート」 。oracle.com。2019年7月16日。 ↑ 「JDK 11.0.4 バグ修正」 。ora cle.com。2019-07-16 。 ↑ 「JDK 11.0.5 リリースノート」 。oracle.com。2019年10月15日。 ↑ 「JDK 11.0.5 バグ修正」 。ora cle.com 。2019年10月15日。 ↑ 「JDK 11.0.6 リリースノート」 。oracle.com。2020年1月14日。 ↑ 「JDK 11.0.6 バグ修正」 。ora cle.com 。2020年1月14日。 ↑ 「JDK 11.0.7 リリースノート」 。oracle.com。2020年4月14日。 ↑ 「JDK 11.0.7 バグ修正」 。ora cle.com 。2020年4月14日。 ↑ 「JDK 11.0.8 リリースノート」 。ora cle.com 。2020年7月14日。 ↑ 「JDK 11.0.8 バグ修正」 。ora cle.com 。2020年7月14日。 ↑ 「JDK 11.0.9 リリースノート」 。ora cle.com 。2020年10月20日。 ↑ 「JDK 11.0.9 バグ修正」 。ora cle.com 。2020年10月20日。 ↑ 「JDK 11.0.10 リリースノート」 。ora cle.com 。2021年1月19日。 ↑ 「JDK 11.0.10 バグ修正」 。ora cle.com 。2021年1月19日。 ↑ 「JDK 11.0.11 リリースノート」 。ora cle.com 。2021年4月20日。 ↑ 「JDK 11.0.11 バグ修正」 。ora cle.com 。2021年4月20日。 ↑ 「JDK 11.0.12 リリースノート」 。ora cle.com 。2021年7月20日。 ↑ 「JDK 11.0.12 バグ修正」 。ora cle.com。2021-07-20 。 ↑ 「JDK 11.0.13 リリースノート」 。ora cle.com 。2021年10月19日。 ↑ 「JDK 11.0.13 バグ修正」 。ora cle.com 。2021年10月19日。 ↑ 「JDK 11.0.14 リリースノート」 。ora cle.com 。2022年1月18日。 ↑ 「JDK 11.0.14 バグ修正」 。ora cle.com 。2022年1月18日。 ↑ 「JDK 11.0.15 リリースノート」 。ora cle.com 。2022年4月19日。 ↑ 「JDK 11.0.15 バグ修正」 。ora cle.com 。2022年4月19日。 ↑ 「JDK 11.0.16 リリースノート」 . oracle.com . 2022-07-19. ↑ 「JDK 11.0.16 バグ修正」 。ora cle.com 。2022年7月19日。 ↑ 「JDK 11.0.16.1 リリースノート」 。ora cle.com 。2022年8月18日。 ↑ 「JDK 11.0.17 リリースノート」 。ora cle.com 。2022年10月19日。 ↑ 「JDK 11.0.17 バグ修正」 。ora cle.com 。2022年10月19日。 ↑ 「JDK 11.0.18 リリースノート」 . oracle.com . 2023-01-17. ↑ 「JDK 11.0.18 バグ修正」 。ora cle.com 。2023年1月17日。 ↑ 「JDK 11.0.19 リリースノート」 。ora cle.com 。2023年4月18日。 ↑ 「JDK 11.0.19 バグ修正」 。ora cle.com 。2023年4月18日。 ↑ 「JDK 11.0.20 リリースノート」 。ora cle.com 。2023年7月18日。 ↑ 「JDK 11.0.20 バグ修正」 。ora cle.com 。2023年7月18日。 ↑ 「JDK 11.0.21 リリースノート」 。ora cle.com 。2023年10月17日。 ↑ 「JDK 11.0.21 バグ修正」 。ora cle.com 。2023年10月17日。 ↑ 「JDK 11.0.22 リリースノート」 . oracle.com . 2024-01-16. ↑ 「JDK 11.0.22 バグ修正」 。ora cle.com。2024-01-16 。 ↑ 「JDK 11.0.23 リリースノート」 。ora cle.com 。2024年4月16日。 ↑ 「JDK 11.0.24 リリースノート」 。ora cle.com 。2024年7月16日。 ↑ 「JDK 11.0.25 リリースノート」 。ora cle.com 。2024年10月15日。 ↑ 「JDK 11.0.26 リリースノート」 。ora cle.com 。2025年1月21日。 ↑ 「JDK 11.0.27 リリースノート」 。ora cle.com 。2025年4月15日。 ↑ 「JDK 11.0.28 リリースノート」 。ora cle.com 。2025年7月15日。 ↑ 「JDK 11.0.29 リリースノート」 。ora cle.com 。2025年10月21日。 ↑ OpenJDK。 「12」 。 ↑ 「JDK 12 リリースノート」 。oracle.com。2019年3月19日。 ↑ 「JDK 12.0.1 リリースノート」 。oracle.com。2019年4月16日。 ↑ 「JDK 12.0.1 バグ修正」 。ora cle.com 。2019年4月16日。 ↑ 「JDK 12.0.2 リリースノート」 。oracle.com。2019年7月16日。 1 2 「Azul サポート ロードマップ」 。Azul | より優れた Java パフォーマンス、優れた Java サポート 。2023 年 6 月 28 日 に取得。 ↑ oracle.com、マーク・ラインホルド (2019年9月17日) 「Java 13 / JDK 13: 一般提供開始」 。 ↑ 「JDK 13 リリースノート」 。oracle.com。2019年9月17日。 ↑ 「JDK 13.0.1 リリースノート」 。oracle.com。2019年10月15日。 ↑ 「JDK 13.0.2 リリースノート」 。oracle.com。2020年1月14日。 ↑ 「JDK 13.0.2 バグ修正」 。ora cle.com 。2020年1月14日。 ↑ oracle.com、マーク・ラインホルド (2020年3月17日) 「Java 14 / JDK 14: 一般提供開始」 。 ↑ エヴァンス、ベン(2020年1月10日)。 「Javaにレコードが登場」 。Java Magazine。Oracle 。 2021年 7月10日 取得 。 ↑ 「JDK 14 リリースノート」 。oracle.com。2020年3月17日。 ↑ 「JDK 14.0.1 リリースノート」 。oracle.com。2020年4月14日。 ↑ 「JDK 14.0.1 バグ修正」 。ora cle.com 。2020年4月14日。 ↑ 「JDK 14.0.2 リリースノート」 。oracle.com。2020年7月14日。 ↑ 「JDK 14.0.2 バグ修正」 。ora cle.com 。2020年7月14日。 ↑ Gavin Bierman; Brian Goetz (2018年9月)。 「Javaのパターンマッチング」 。openjdk.org 。 2024年6月18日 取得 。 ↑ 「JDK 15 リリースノート」 。oracle.com。2020年9月15日。 ↑ 「JDK 15.0.1 リリースノート」 。oracle.com。2020年10月20日。 ↑ 「JDK 15.0.1 バグ修正」 。ora cle.com 。2020年10月20日。 ↑ 「JDK 15.0.2 リリースノート」 。oracle.com。2021年1月19日。 ↑ 「JDK 15.0.2 バグ修正」 。ora cle.com 。2021年1月19日。 ↑ " [ JDK-8255616 ] 実験的機能 AOT および Graal JIT の削除 – Java バグ システム" . bugs.openjdk.java.net . 2021-02-19 に取得. ↑ 「JDK 16 リリースノート」 。oracle.com。2021年3月16日。 ↑ 「JDK 16.0.1 リリースノート」 。oracle.com。2021年4月20日。 ↑ 「JDK 16.0.1 バグ修正」 。ora cle.com 。2021年4月20日。 ↑ 「JDK 16.0.2 リリースノート」 。oracle.com。2021年7月20日。 ↑ 「JDK 16.0.2 バグ修正」 。ora cle.com。2021-07-20 。 ↑ "JDK 17" . openjdk.java.net . 2021年9月17日 取得 . ↑ 「JDK 17 リリースノート」 。oracle.com。2021年9月14日。 ↑ 「JDK 17.0.1 リリースノート」 。oracle.com。2021年10月19日。 ↑ 「JDK 17.0.1 バグ修正」 。ora cle.com 。2021年10月19日。 ↑ 「JDK 17.0.2 リリースノート」 。oracle.com。2022年1月18日。 ↑ 「JDK 17.0.2 バグ修正」 。ora cle.com 。2022年1月18日。 ↑ 「JDK 17.0.3 リリースノート」 。oracle.com。2022年4月19日。 ↑ 「JDK 17.0.3 バグ修正」 。ora cle.com 。2022年4月19日。 ↑ 「JDK 17.0.3.1 リリースノート」 。oracle.com。2022年5月2日。 ↑ 「JDK 17.0.3.1 バグ修正」 。ora cle.com 。2022年5月2日。 ↑ 「JDK 17.0.4 リリースノート」 。oracle.com。2022年7月19日。 ↑ 「JDK 17.0.4 バグ修正」 。ora cle.com 。2022年7月19日。 ↑ 「JDK 17.0.4.1 リリースノート」 。oracle.com。2022年8月18日。 ↑ 「JDK 17.0.5 リリースノート」 。oracle.com。2022年10月18日。 ↑ 「JDK 17.0.5 バグ修正」 。ora cle.com 。2022年10月18日。 ↑ 「JDK 17.0.6 リリースノート」 。oracle.com。2023年1月17日。 ↑ 「JDK 17.0.6 バグ修正」 。ora cle.com 。2023年1月17日。 ↑ 「JDK 17.0.7 リリースノート」 。oracle.com。2023年4月18日。 ↑ 「JDK 17.0.7 バグ修正」 。ora cle.com 。2023年4月18日。 ↑ 「JDK 17.0.8 リリースノート」 。oracle.com。2023年7月18日。 ↑ 「JDK 17.0.8 バグ修正」 。ora cle.com 。2023年7月18日。 ↑ 「JDK 17.0.9 リリースノート」 。oracle.com。2023年10月17日。 ↑ 「JDK 17.0.9 バグ修正」 。ora cle.com 。2023年10月17日。 ↑ 「JDK 17.0.10 リリースノート」 。ora cle.com 。2024年1月16日。 ↑ 「JDK 17.0.10 バグ修正」 。ora cle.com。2024-01-16 。 ↑ 「JDK 17.0.11 リリースノート」 。oracle.com。2024年4月16日。 ↑ 「JDK 17.0.12 リリースノート」 。oracle.com。2024年7月16日。 ↑ 「JDK 17.0.13 リリースノート」 。oracle.com。2024年10月15日。 ↑ 「JDK 17.0.14 リリースノート」 。oracle.com。2025年1月21日。 ↑ 「JDK 17.0.15 リリースノート」 。oracle.com。2025年4月15日。 ↑ 「JDK 17.0.16 リリースノート」 。oracle.com。2025年7月15日。 ↑ 「JDK 17.0.17 リリースノート」 。oracle.com。2025年10月21日。 ↑ "JDK 18" . openjdk.org . 2023年 6月28日 取得 . ↑ 「JDK 18 リリースノート」 。oracle.com。2022年3月22日。 ↑ 「JDK 18.0.1 リリースノート」 。oracle.com。2022年4月19日。 ↑ 「JDK 18.0.1 バグ修正」 。ora cle.com 。2022年4月19日。 ↑ 「JDK 18.0.1.1 リリースノート」 。oracle.com。2022年5月2日。 ↑ 「JDK 18.0.1.1 バグ修正」 。ora cle.com 。2022年5月2日。 ↑ 「JDK 18.0.2 リリースノート」 。oracle.com。2022年7月19日。 ↑ 「JDK 18.0.2 バグ修正」 。ora cle.com 。2022年7月19日。 ↑ 「JDK 18.0.2.1 リリースノート」 。oracle.com。2022年8月18日。 ↑ "JDK 19" . openjdk.org . 2022年9月19日 取得 . ↑ 「JDK 19 リリースノート」 。oracle.com。2022年9月20日。 ↑ 「JDK 19.0.1 リリースノート」 。oracle.com。2022年10月18日。 ↑ 「JDK 19.0.1 バグ修正」 。ora cle.com 。2022年10月18日。 ↑ 「JDK 19.0.2 リリースノート」 。oracle.com。2023年1月17日。 ↑ 「JDK 19.0.2 バグ修正」 。ora cle.com 。2023年1月17日。 ↑ "JDK 20" . openjdk.org . 2023年4月21日 取得 . ↑ 「JDK 20 リリースノート」 。oracle.com。2023年3月21日。 ↑ 「JDK 20.0.1 リリースノート」 。oracle.com。2023年4月18日。 ↑ 「JDK 20.0.1 バグ修正」 。ora cle.com 。2023年4月18日。 ↑ 「JDK 20.0.2 リリースノート」 。oracle.com。2023年7月18日。 ↑ 「JDK 20.0.2 バグ修正」 。ora cle.com 。2023年7月18日。 ↑ "JDK 21" . OpenJDK . 2023年 6月12日 取得 . ↑ 「JDK 21 リリースノート」 。oracle.com。2023年9月19日。 ↑ 「JDK 21.0.1 リリースノート」 。oracle.com。2023年10月17日。 ↑ 「JDK 21.0.1 バグ修正」 。ora cle.com 。2023年10月17日。 ↑ 「JDK 21.0.2 リリースノート」 。ora cle.com 。2024年1月16日。 ↑ 「JDK 21.0.2 バグ修正」 。ora cle.com。2024-01-16 。 ↑ 「JDK 21.0.3 リリースノート」 。ora cle.com 。2024年4月16日。 ↑ 「JDK 21.0.3 バグ修正」 . oracle.com . 2024-04-16. ↑ 「JDK 21.0.4 リリースノート」 。ora cle.com 。2024年7月16日。 ↑ 「JDK 21.0.5 リリースノート」 . oracle.com . 2024-10-15. ↑ 「JDK 21.0.6 リリースノート」 . oracle.com . 2025-01-21. ↑ 「JDK 21.0.7 リリースノート」 。ora cle.com 。2025年4月15日。 ↑ 「JDK 21.0.8 リリースノート」 。ora cle.com 。2025年7月25日。 ↑ 「JDK 21.0.9 リリースノート」 。ora cle.com 。2025年10月21日。 ↑ "JDK 22" . OpenJDK . 2024年 4月10日 取得 . ↑ 「OracleがJava 22をリリース」 。ora cle.com 。 2024年3月20日 取得 。 ↑ "Java SE 22 (JSR 397)" . cr.openjdk.org . 2024-04-16 に取得 . ↑ "Java SE 23 Platform JSR 398" . openjdk.org . 2024-01-17 に取得. ↑ "JDK 23" . openjdk.org . 2024年8月28日 取得 . ↑ 「OracleがJava 23をリリース」 。ora cle.com 。 2024年9月17日 取得 。 ↑ Bierman, Gavin (2024-04-05). "文字列テンプレートの更新 (JEP 459)" . Amber Expert Group (メーリングリスト) . 2024-09-25 に取得. ↑ "Java SE 24 Platform JSR 399" . openjdk.org . 2024-09-25 に取得. ↑ "JDK 24" . OpenJDK . Oracle Corporation . 2024年 11月9日 取得 . ↑ "Java SE 25 Platform JSR 400" . openjdk.org . 2024-12-15 に取得. ↑ "JDK 25" . openjdk.org . 2025年7月21日 取得 . ↑ "Java SE 26 Platform JSR 401" . openjdk.org . 2026年 1月16日 取得 . ↑ "JDK 26" . openjdk.org . 2026年 1月16日 取得 . ↑ 「ダウンロード – 概要」 。2016年7月18日。 ↑ 「Amazon Corretto」 . Amazon Web Services . 2025年11月16日 取得。 ↑ "Eclipse Temurin" . Adoptium . Eclipse Foundation . 2025年11月16日 取得 . ↑ 「Liberica JDK」 . BellSoft . 2025年11月16日 取得 。 ↑ "Alibaba Dragonwell8" . GitHub . Alibaba . 2025-11-16 に取得. ↑ "GraalVM" . GraalVM . Oracle Labs . 2025-11-16 に取得. ↑ 「OpenJDK の Red Hat ビルド」 。Red Hat Developer。Red Hat。2025-11-16 に 取得 。 ↑ 「IBM Semeru Runtimes」 . IBM Developer . IBM . 2025年11月16日 取得 。
外部リンク 公式Java SEダウンロード Sun Javaのサポート対象バージョンとサポート終了(EOL) 古いバージョンのJavaのダウンロードアーカイブ JDKリリース Java版年鑑