【プログラミング】【java】Javaのバージョン一覧と概要 - j-komatsu/myCheatSheet GitHub Wiki
Javaのバージョン一覧と概要
目的
Javaの各バージョンの歴史、特徴、およびそれぞれのバージョンで導入された重要なアップデートを理解し、適切な選択を行うための情報を提供します。
バージョンの概要
バージョン | リリース年 | 主な特徴・アップデート |
---|---|---|
JDK 1.0 | 1996 | 初版リリース。基本的なJava APIを提供。 |
JDK 1.1 | 1997 | イベントモデルの改善、JDBC導入。 |
JDK 1.2 | 1998 | "Java 2"としてリブランド。Swing、コレクションフレームワークの導入。 |
JDK 1.3 | 2000 | Java Sound API、RMIリモートオブジェクトの改良。 |
JDK 1.4 | 2002 | assert文の導入、Java Web Start、正規表現API、NIO(非同期I/O)。 |
JDK 5 | 2004 | ジェネリクス、アノテーション、列挙型、可変引数、for-eachループの導入。 |
JDK 6 | 2006 | パフォーマンス向上、スクリプトエンジンAPI、デスクトップアプリ改善。 |
JDK 7 | 2011 | try-with-resources文、スイッチ文での文字列対応、NIO.2(ファイルシステムAPI)。 |
JDK 8 | 2014 | ラムダ式、ストリームAPI、Date and Time API、デフォルトメソッドの導入。 |
JDK 9 | 2017 | モジュールシステム(JPMS)、JShell(REPL)の追加。 |
JDK 10 | 2018 | varキーワード(ローカル変数型推論)。 |
JDK 11 | 2018 | 長期サポート(LTS)バージョン。HTTP Client API、ランタイムでの動的クラスファイル。 |
JDK 12 | 2019 | Switch式のプレビュー機能。 |
JDK 13 | 2019 | テキストブロックのプレビュー機能。 |
JDK 14 | 2020 | レコード、NullPointerExceptionsの詳細メッセージ。 |
JDK 15 | 2020 | Sealedクラスのプレビュー機能。 |
JDK 16 | 2021 | パターンマッチングfor instanceof。 |
JDK 17 | 2021 | 長期サポート(LTS)バージョン。Sealedクラスの正式導入、コンテキスト固有のクラス。 |
よく利用されているバージョン
-
JDK 8
- 理由: 安定性、互換性が高く、ラムダ式やストリームAPIによりコードの簡潔化が可能。
-
JDK 11
- 理由: 長期サポート(LTS)バージョンであり、最新の機能と安定性を兼ね備えている。
-
JDK 17
- 理由: 最新のLTSバージョンであり、セキュリティや性能の改善が充実。
バージョン別の画期的なアップデート
バージョン | 画期的なアップデート |
---|---|
JDK 1.2 | SwingによるリッチなGUIの提供、コレクションフレームワークの導入。 |
JDK 5 | ジェネリクスとアノテーションによりコードの安全性と柔軟性が向上。 |
JDK 8 | ラムダ式とストリームAPIにより、関数型プログラミングが可能に。 |
JDK 9 | モジュールシステムにより、大規模アプリケーションの構造化が容易に。 |
JDK 11 | HTTP Client APIにより、非同期通信が簡素化。 |
JDK 17 | 最新の言語機能(Sealedクラスなど)とセキュリティ強化。 |