ニュース

Oracle、「Java 21」を発表 ~8年間のサポートを約束した長期サポート(LTS)リリース

Windows向け32bit版(x86)は非推奨に、将来バージョンで削除

Oracle、「Java 21」を発表

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

 「Java 21」は「Java 17」に続く長期サポート(LTS)リリースで、少なくとも8年間、2031年9月までの「Extended Support」が設定されている。同じバージョンを長期にわたって運用したい場合は、このバージョンを選択するとよいだろう。

 「Oracle JDK 21」には、以下の15つのJDK拡張提案(JEP)が含まれている。「OpenJDK」の「Project Amber」や「Project Panama」、「Project Loom」の成果が盛り込まれた。

言語機能の強化

 パターンマッチングやレコードクラスをはじめとする言語機能を強化する取り組み「Project Amber」の成果が取り込まれ、複雑な条件分岐を簡潔に記述できるようになった。

  • JEP 430:String Templates (Preview)
  • JEP 440:Record Patterns
  • JEP 441:Pattern Matching for switch
  • JEP 443:Unnamed Patterns and Variables (Preview)
  • JEP 445:Unnamed Classes and Instance Main Methods (Preview)

Project Panama

 Javaと非Javaコードの間の相互作用を改善することを目的とした「Project Panama」では、プレビュー機能の改善が行われた。

  • JEP 442:Foreign Function & Memory API (Third Preview)
  • JEP 448:Vector API (Sixth Incubator)

Project Loom

 「Project Loom」は、軽量な同時実行性を実現するために言語機能やAPI、ランタイムの拡充を検討するプロジェクト。「Java 21」では、OSが提供する高コストなネイティブスレッドの代わりに、Javaの仮想マシン内で管理する軽量な仮想スレッド(Virtual Threads)が選べるようになった。状況に応じて使い分けることで、アプリケーションのパフォーマンス向上が期待できる。

 そのほかにも、ガベージコレクター「ZGC」(Z Garbage Collector)を拡張して、オブジェクトを世代管理する機能がプレビュー導入された。従来の「ZGC」に比べ、リソースのオーバーヘッド削減などのメリットがある。

 一方で、Windows向け32bit版(x86)などが非推奨となった。将来バージョンで削除されるとのこと。