株式会社インターワーク

Javaのバージョンと機能 − Java 9から24まで

Java 9から最新のJava 24まで、各バージョンで追加された主要な新機能を一覧で紹介します。バージョンアップを検討する際のリファレンスとしてご活用ください。

(更新:
Javaのバージョンと機能 − Java 9から24まで

IDRSolutionsのプログラマーで、社内のJavaテストを担当しているKieran氏は余暇はガジェットとコードいじりを楽しんでいます。今回、開発者向けブログ記事で、Javaのバージョンとその機能について詳しく解説しています。IDRSolutionsが現在サポートしているJava 8から、今後サポートを検討しているJava 9から24まで、各バージョンで追加された新機能を紹介します。

著者 Kieran France (IDRsolutions)  翻訳 インターワーク

私たちが使うのを楽しみにしているJavaの機能

古いバージョンのJavaをサポートすることのマイナス面の1つは、最新のJDKのリリース日から利用できないことです。バージョン別のさまざまなJava機能を覚えておくと、非常に便利です。サポートする最低バージョンが上がったら、ぜひ使ってみたいJavaの機能がたくさんあります。

最近私たちは、今後数年間にサポートすべきJavaの最小バージョンを決定するために、ユーザーと話し合ってきました。最小バージョンを検討する際には、各バージョンのサポート期間、あるバージョンをまだ使っている人の数、開発者がアクセスできる新機能を念頭に置きたいと考えました。

Javaの古いバージョンのサポートを維持するために時間を費やしていると、各バージョンで導入された機能を忘れてしまいがちです。私たちは現在Java 8をサポートしているので(この記事を書いている時点では)、Java 9 以降から最新のJava 24 までのすべてのバージョンを見直し、それぞれにどの新機能が追加されたかを書き留めておくことは有益だと考えました。この作業が完了したので、私たちが手にするのが楽しみな各バージョンの機能を共有したいと思います(プレビュー機能は無限の可能性があるため割愛します)。

Javaのバージョンとその機能

Java 9 の機能
  • [JEP-269] コレクション・ファクトリー・メソッド(例:List.of(a, b, c))
  • [JEP-266] ストリームAPIの改善
  • [JEP-251] マルチレゾリューション画像API
  • [JEP-213] インターフェイスのプライベートメソッド
  • [Multiple JEPs] Project Jigsaw: JavaモジュールとマルチリリースJarファイル

JDK 9は2017年9月21日にリリースされました

Java 10 の機能
  • [JEP-286] ローカル変数の型推論: var-keyword
  • [JEP-307] G1用パラレル・フルGC

JDK 10は2018年3月20日にリリースされました

Java 11 の機能
  • 文字列ユーティリティメソッド
    • repeat(), isBlank(), strip(), lines()
  • ファイルユーティリティのメソッド
    • Files.writeString, Files.readString(path)
  • [JEP-323] ラムダ・パラメータのローカル変数型推論 (var)
  • [JEP-321] 新しい HttpClient API

JDK 11は2018年9月25日にリリースされました

Java 12 の機能
  • 文字列ユーティリティメソッド
    • indent(), transform()

JDK 12は2019年3月19日にリリースされました

Java 13 の機能

いくつかの機能がありますが、すべてJDKの内部またはプレビューのため、現時点では信頼できません。

JDK 13は2019年9月17日にリリースされました

Java 14 の機能
  • [JEP-361] スイッチ式
  • [JEP-358] 有用な NullPointerExceptions

JDK 14は2020年3月17日にリリースされました

Java 15の機能
  • [JEP-378] テキストブロック / 複数行文字列

JDK 15は2020年9月15日にリリースされました

Java 16の機能
  • [JEP-394] instanceof のパターンマッチング
  • [JEP-395] レコード

JDK 16は2021年3月16日にリリースされました

Java 17の機能
  • [JEP-409] シールドクラス
  • [JEP-415] コンテキスト固有のデシリアライズ・フィルター

JDK 17は2021年9月14日にリリースされました

Java 18の機能
  • [JEP-400] UTF-8 がデフォルト
  • [JEP-408] シンプルWebサーバー
  • [JEP-413] JavaDocsのコードスニペット

JDK 18は2022年3月22日にリリースされました

Java 19の機能

いくつかの機能がありますが、すべてJDKの内部またはプレビューのため、現時点では信頼できません。

JDK 19は2022年9月20日にリリースされました

Java 20の機能

いくつかの機能がありますが、すべてJDKの内部またはプレビューのため、現時点では信頼できません。

JDK 20は2023年3月21日にリリースされました

Java 21の機能
  • [JEP-431] シーケンス・コレクション
  • [JEP-440] 記録パターン
  • [JEP-441] スイッチのパターン・マッチング
  • [JEP-444] 仮想スレッド
  • [JEP-452] キー・カプセル化メカニズムAPI

JDK 21は2023年9月19日にリリースされました

Java 22の機能
  • [JEP-456] 名前のない変数とパターン

JDK 22は2024年3月19日にリリースされました

Java 23の機能
  • [JEP-467] Markdownドキュメンテーション・コメント
  • [JEP-474] ZGC: Generationalモードがデフォルトに

JDK 23は2024年9月17日にリリースされました

Java 24の機能
  • [JEP-484] Class-File API
  • [JEP-485] ストリーム・ギャザラー
  • [JEP-491] ピン留めなしの仮想スレッド同期
  • [JEP-486] セキュリティ・マネージャーの完全無効化

JDK 24は2025年3月18日にリリースされました

PDFアプリ開発ツール(SDK)をお探しのみなさま、効率のよい開発作業のためにJPedalBuildVuJDeliがきっとお役に立つことと思います。これら3製品は無料で試用していただけますので、まずはお試しのうえ、ぜひ導入をご検討ください。

開発者向けPDF入門ガイド 表紙
無料 eBook / 25p

開発者向けPDF入門ガイド

PDFの仕様や活用方法など、開発者に必要な情報をコンパクトにまとめました。初めてPDFを扱う開発者にも分かりやすく、基礎から応用までカバーしているため、PDFのポテンシャルを最大限に引き出し、アプリケーション開発やドキュメント管理の効率化を図るための手引きとなるでしょう。

ご興味のある製品:

ご入力いただいた情報は、eBookの送付およびインターワークからのご案内にのみ使用いたします。プライバシーポリシー