Oracle は、Java プログラミング言語と仮想マシンのバージョン15をリリースした。
InfoQ は4月にこのリリースをもともと報告していた。それ以来、いくつかの機能が追加されただけだ。
Records と Instanceof のパターンマッチングも 2 回目のプレビューのために戻ってきた。InfoQ では以前、Brian Goetz 氏の Records と Project Amber の機能セットの一般的な方向性について詳しく紹介した。今回のリリースでは、QCon London 2020 で議論された Amber のもう一つの追加の部分である Sealed Classes のプレビューもお届けしている。
Production (またはnon-experimental)のステータスに到達したのは、2 つの別々の低遅延/低停止時間のガベージコレクタだ。 それは Oracle の ZGC と Red Hat の Shenandoah だ。どちらも、大規模なヒープでも非常に短い(~1ms) 停止時間を維持する必要があるワークロードを対象としている。そして、それらを達成するために、より高いレベルで全体的なパフォーマンス税を支払う準備が必要だ。
他のより注目すべき機能の1つは、JEP 383 - Foreign-Memory Access API だ。これはSecond Incubator のステータスに達している。
最終的な機能の完全なリストは
- JEP 339:Edwards-Curve Digital Signature Algorithm (EdDSA)
- JEP 360:Sealed Classes (Preview)
- JEP 371:Hidden Classes
- JEP 372:Remove the Nashorn JavaScript Engine
- JEP 373:Reimplement the Legacy DatagramSocket API
- JEP 374:Disable and Deprecate Biased Locking
- JEP 375:Pattern Matching for instanceof (Second Preview)
- JEP 377:ZGC:A Scalable Low-Latency Garbage Collector
- JEP 378:Text Blocks
- JEP 379:Shenandoah:A Low-Pause-Time Garbage Collector
- JEP 381:Remove the Solaris and SPARC Ports
- JEP 383:Foreign-Memory Access API (Second Incubator)
- JEP 384:Records (Second Preview)
- JEP 385:Deprecate RMI Activation for Removal
注意すべきは、Java 15 は長期サポートリリースではないということだ。そのため、開発者がこの新しいバージョンを採用するかどうかは見ものだ。これまでのところ、LTS 以外のリリースでは大きな採用実績はない。
Java 15 は、Oracle からダウンロードや AdoptOpenJDK などのベンダーからダウンロードできる。