ニュース

Oracle、「Java」の最新版「Java 25」を発表 ~8年間の長期サポート版

Java言語の拡張、セキュリティライブラリの強化、パフォーマンスの改善などを実施

Oracle、「Java 25」を発表

 米Oracleは9月16日(現地時間)、プログラミング言語「Java」の最新版「Java 25」を発表した。Java開発キット「Oracle JDK 25」の提供も開始されている。

 「Java 25」は、「Java 21」以来の長期サポート(LTS)リリース。少なくとも2033年9月までサポートされるため、バージョンを固定したまま長期にわたって運用したい場合は、このバージョンが最適だ。

 「JDK 25」には4つのプレビュー機能、1つの実験的機能、1つのインキュベーター機能を含む、16のJDK拡張提案(JEP)が実装されている。Java言語の拡張、セキュリティライブラリの強化、パフォーマンスとランタイム、およびモニタリングの改善が行われている。

言語機能

  • JEP 507:Primitive Types in Patterns, instanceof, and switch (Third Preview)
  • JEP 511:Module Import Declarations
  • JEP 495:Simple Source Files and Instance Main Methods (Fourth Preview)
  • JEP 513:Flexible Constructor Bodies

 煩雑なモジュールインポート文を削減するなど、Javaソースコードを簡潔に書けるようにする仕組みが初学者向けに導入された。「Flexible Constructor Bodies」はコンストラクターにおける不要な言語制約を緩和するもので、スーパークラスのコンストラクターを呼び出す前に引数の検証などが行えるようになる。

ライブラリ

  • JEP 499:Structured Concurrency (Fourth Preview)
  • JEP 487:Scoped Values (Fourth Preview)
  • JEP 502:Stable Values (Preview)
  • JEP 508:Vector API (Tenth Incubator)

セキュリティ ライブラリ

  • JEP 470:PEM Encodings of Cryptographic Objects (Preview)
  • JEP 510:Key Derivation Function API

パフォーマンスとランタイム

  • JEP 519:Compact Object Headers
  • JEP 514:Ahead-of-Time Command-Line Ergonomics
  • JEP 515:Ahead-of-Time Method Profiling

 「Compact Object Headers」はヒープに配置されるオブジェクトヘッダーを128bitから64bitへ縮小するもので、大量のデータオブジェクトを扱う際のメモリ効率向上が期待できる。AOT(Ahead-of-Time)キャッシュの仕組みも改善され、アプリの起動時間が短縮された。

モニタリング

  • JEP 509:JFR CPU-Time Profiling (Experimental)
  • JEP 518:JFR Cooperative Sampling
  • JEP 520:JFR Method Timing & Tracing

 なお、「Java 25」では古い機能の削除、非推奨要素の廃止なども実施されているので注意したい。