この記事は新世代Javaプログラミングガイドの紹介(Java 11編)の続きです。
##Java 12での変更点
Java 12では以下の2つについて書かれています。
- switch 式
- JDK 12のその他の改良点
##switch 式
switch式はJava 12の正式な機能ではありません。
それどころかJava 13でも正式でなくJava 14からの正式な機能となります。
本ではプレビュー機能を使う方法としてコンパイル時や実行時に --enable-preview
オプションを指定するよう解説されていますが、今はJava 14もリリースされているので、Java 14を使うならオプションなしで実行できます。
正直、今まであまりswitchを使ってこなかったのですが、今回のswitch式を使うと完結に安全なコードが書けるケースが増えるのではと思っています。
今までのswitchは何が問題だったのか、switch式でそれがどう改善されたのか、本ではサンプルコードとともにわかりやすく解説されています。
JDK 12のその他の改良点
その他の改良点では以下の項目につい説明されています。
- Shenandoah GC: 一時停止が短い GC
- マイクロベンチマーク・スイート
- 仮想マシン(Java Virtual Machine: JVM)定数 API
- AArch64 版の一本化
- デフォルトの CDS アーカイブ
- G1用の中止可能な混在コレクション
- 未使用のコミットメモリの G1 からの迅速な返却
例に漏れず簡単な解説のみとなっていますが、そのような中で「デフォルトの CDS アーカイブ」については少し多めの解説となっています。しかもCDSに関してはJava 10の「AppCDS アプリケーション・クラスデータ共有」で詳しく解説されているにも関わらずです。
これは著者がこの機能について「ぜひ使ってほしい」との思いがあるからではないでしょうか。本意はわかりませんが、私はそのように感じました。
また、GCについての改良が常に行われているんだなとの印象も感じた内容でした。
以上、新世代Javaプログラミングガイドの紹介(Java 12編)でした。