概要

Java 26が2026年3月17日にリリースされ、Spring Boot開発者にとって実用的な改善が複数導入された。主な変更点はG1ガベージコレクターのパフォーマンス向上、標準ライブラリへのHTTP/3サポート追加、ファイナルフィールドへの不正な反射的変更への警告導入、そしてUUIDv7の標準APIサポートである。同時期にはSpring Boot 4.1.0-RC1をはじめとするSpringエコシステムの複数プロジェクトもリリースを迎えている。

Java 26の主要な新機能

G1 GCの大幅なスループット向上(JEP 522)
G1ガベージコレクターが参照オブジェクトの追跡方式をデュアルカードテーブル方式へと刷新した。これにより、参照オブジェクトを多用するワークロードで5〜15%のスループット改善が見込める。設定変更は不要で、JDKをアップグレードするだけで自動的に恩恵を受けられる。

標準ライブラリへのHTTP/3対応
JDK付属のHttpClientがQUICプロトコル上のHTTP/3に対応した。利用するにはHttpClient.Version.HTTP_3を指定するだけでよく、HTTP/3が利用できない場合はHTTP/2へ自動的にフォールバックする。これまで外部ライブラリが必要だったHTTP/3通信が標準APIで実現できるようになった。

ファイナルフィールド変更への警告(JEP 500)
フィールドの不変性の強制が始まった。Java 26ではリフレクションによるファイナルフィールドへの変更に対して警告が出力され、将来のリリースではエラーとなる予定だ。HibernateやMockitoなど一部のライブラリが影響を受ける可能性があるため、依存関係の互換性確認が推奨される。

UUIDv7の標準サポート
UUID.ofEpochMillis()メソッドが新たに追加され、時刻順に並んだUUIDv7を生成できるようになった。ランダムなUUID v4と比べてデータベースのインデックス性能が向上し、挿入時のページ分裂を抑えられるため、主キーや連番IDの用途で有効に活用できる。

Springエコシステムのリリース動向

Java 26のリリースと前後して、Springエコシステムでも多くのプロジェクトが新バージョンを公開した。

Spring Bootではバグ修正版の3.5.14・4.0.6に加え、次世代版となる4.1.0-RC1がリリース候補として公開された。Spring for Apache Kafkaも4.1.0-RC1・4.0.5・3.3.15の3バージョンを同時リリースし、Spring AIでは1.0.6・1.1.5・2.0.0-M5と幅広いバージョン帯をカバーするリリースが行われた。そのほか、Spring Modulith 2.1 RC1・2.0.6・1.4.11、Spring Shell 4.0.2、Spring for Apache Pulsar 1.2.17・2.0.5、Spring Authorization Server 1.5.7も相次いで公開されている。

移行に関する考慮事項

Java 26はサポート期間が6ヶ月の非LTSリリースであるため、本番環境への採用にはJava 25 LTSをそのまま使い続けることが推奨される。一方で、CIパイプラインにJava 26を加えて依存ライブラリの互換性を今から確認しておくことは、将来のアップグレードをスムーズに進めるうえで有益だ。特にファイナルフィールド変更への警告は将来的にエラーとなるため、HibernateやMockitoなどリフレクションを多用するライブラリのアップデート対応状況を早めに把握しておくとよい。