JDK 13がフィーチャーフリーズおよびランプダウンに移行した。今回のリリースに関して、これ以上の新機能が対象になることはない。
最終的な新機能のリストは次のとおりだ。
- JEP 350: ダイナミックCDSアーカイブ
- JEP 351: ZGC: 未使用メモリのコミット解除
- JEP 353: レガシーソケットAPIの再実装
- JEP 354: switch式(プレビュー)
- JEP 355: テキストブロック(プレビュー)
これらの新機能のひとつだけ(レガシーソケットAPIの再実装)が、新機能を明示的にオプトインしないユーザに直接的な影響を与えるものだ。
switch式は、最初にJDK 12でプレビューされたものの再プレビューになる。コミュニティからのフィードバックに従って構文が変更され、ブロック形式で使用されるswitch式からの戻り値を処理するキーワードとして、新たにyield
が導入された。
残念ながら、JDK 13のswitch式には、新しい機能は導入されていない。特に、今年始めにInfoQが行った予想に反して、Pattern Matching形式は今回のリリースに含まれなかった。
JDK 13のもうひとつの新たなプレビュー機能であるtextブロックは、以前は複数行文字列と呼ばれていたもので、Javaプログラムに大量の書式付きテキストを直接含める場合の負担軽減を目的としている。
Java 13の最終バージョンは、2019年9月17日にリリースされる予定である。今回のリリースは長期サポートリリース(LTS)ではなく、リリース後6か月間のみ、Oracleの無料サポート対象となる。現時点では、当初の期間を超えたサポートに関心を示す他のベンダが存在する様子はない。