BT

最新技術を追い求めるデベロッパのための情報コミュニティ

寄稿

Topics

地域を選ぶ

InfoQ ホームページ ニュース Java 15のこれまで

Java 15のこれまで

原文(投稿日:2020/04/20)へのリンク

Java 14がリリースされて1ヶ月が経つ — しかし、次のバージョンで実現されるはずの、新しいJavaのリリースモデルの持つ本来の強みに向けた歩みが止まることはない。これはつまり、Java 15のリリーストレイン(release train)はすでに動き出している、という意味である。

フィーチャーフリーズとランプダウンから2ヶ月が過ぎたばかりだが、Java 15に向けて数多くの機能が発表されている。具体的には次のようなものだ。

2つの新しいガベージコレクタの標準バージョンも機能リストに挙げられている。

  • ZGC: スケーラブルで低レイテンシのガベージコレクタ(JEP 377)
  • Shenandoah: 停止時間の短いガベージコレクタ(JEP 379)

ZGCはOracleが、ShenandoahはRed Hatが開発したもので、同じような機能 — 短い停止時間、大規模ヒープへのスケーラビリティ — を、パフォーマンス全体に関わるコスト(例えば、アプリケーションスループットの低下)の下で提供する。

Java 14はProject Amberの段階的デリバリの一環として、いくつかの大きなマイルストンを提供している。これには、初めてのRecordのプレビューリリースSwitch Expressionの標準バージョンinstanceofパターンマッチングの最初のプレビューなどが含まれている。

公式な発表はまだないが、Java 15にはこのグループの機能提供の継続として、さらに多くのJEPが含まれるのは間違いなさそうだ。

この中には、Recordの第2プレビュー、場合によっては最終(あるいは標準)リリースが含まれる可能性もある。Sealed TypeがJava 15のターゲットになることも考えられる — ただし、プレビュー機能としてであることは、ほぼ間違いないだろう。

JDK 15に入りそうなもうひとつの候補はJEP 375 — パターンマッチングinstanceofの第2プレビューだ。このプレビューでは、パターンマッチングへの次の重要なステップとして、Recordのデコンストラクションパターンが追加される。これは、他言語(直積型(product type)の実装に構造的型付け(structural typing)を使用するような)に見られるデコンストラクションの概念のJava版である。

Sealed TypeとRecord、概念としてのパターンマッチングの導入の組み合わせは、Java言語が今後進む道を明確に示すものだ非LTSリリースの採用に対して市場の示している抵抗を考慮するならば、これは2021年9月にリリースされる予定のJava 17(LTS)の一部として、完全なパターンマッチングと公称代数型(nominal algebraic type)が最終的な機能として登場することになる。

この記事に星をつける

おすすめ度
スタイル

BT