Java 12正式版がリリース、大きな変更などはなし。新ガベージコレクタの実験的導入、Switch文の拡張がプレビューなど
Java 12正式版がリリースされました。
2017年9月に登場したJava 9以降、Javaは6カ月ごとに「フィーチャーリリース」と呼ばれるアップデートが行われ、バージョン番号が1つずつ増えていきます。
2018年3月にはJava 10が登場し、2018年9月にはJava 11が登場しました。そして2019年3月、Java 12がリリースされたわけです。
The features in JDK 12 #Java #OpenJDK #JDK12 https://t.co/gKmkzKqJJx pic.twitter.com/L9UjK8xaZj
— Java (@java) 2019年3月19日
Java 12では大きな変更や新機能の追加などは行われていません。おもな新機能としては、Switch文が拡張され、文としても式としても扱えるようになる「JEP 325」がプレビューとして入ったことや、「Shenandoah」と呼ばれるガベージコレクションによる一時停止を減らすアルゴリズムが組み込まれた新しいガベージコレクタ「JEP 189」が実験的に組み込まれたことなどが挙げられます。
Javaを利用するためのいくつかの選択肢
1つ前のフィーチャーリリースであるJava 11から、Oracle JDKを本番環境で利用する場合や長期サポートを利用する場合には有償のサポート契約が求められるようになりました(ちなみにJava 11は長期サポート対象のフィーチャーリリースです)。
一方、本番環境でも無償で利用できるOpenJDKディストリビューションでは、バグフィクスやセキュリティパッチが提供される対象がつねに新しいフィーチャーリリースとなり、過去のフィーチャーリリースのセキュリティフィクスやバグフィクスの提供は基本的には行われない見通しです。
そのため、Javaを引き続き安全な状態で使い続けるにはいくつかの選択肢を考慮すべきでしょう。
Oracle JDKを選ぶ場合は前述のように有償サポートを結ぶことになりますし、OpenJDKを利用するのであればつねに最新のフィーチャーリリースをキャッチアップしていくことになるでしょう。
Java 11など長期サポート(LTS:Long Term Support)対象のフィーチャーリリースを利用しつつ、バグフィクスやセキュリティパッチなどが無償で継続して提供される選択肢としては、AdoptOpenJDK、AWSの「Amazon Corretto 11」、Azure Systemsが提供するJava for Azure and Azure Stack(Microsoft Azure上での実行目的に限るという条件付き)などがあります。
また有償ではOracle JDKのほか、Red HatやIBMのJava関連商用製品にバンドルされているJDKの有償サポートや、Azul SystemsなどのJavaの有償サポートを提供するベンダもあります。
まだJavaの実行環境が古いままであれば、このタイミングであらためてJavaの実行環境を見直してはいかがでしょうか。
追記:Amazon Corretto 11は正式版がリリースされていましたので、本文を修正しました。
あわせて読みたい
Istio 1.1がリリース。大規模メッシュにも対応する性能とスケーラビリティの向上など
≪前の記事
Kubernetesクラスタ間をレイヤ3トンネリングで接続、異なるクラスタ内のノード間通信を容易にする「Submariner」、Rancher Labsがオープンソースで公開