サボってる間にもいろいろあったのでまとめておきます。
2つのJEPがJDK12のproposalに追加
新たにJEPがふたつ追加されました。
JEP 340: One AArch64 Port, Not Two
JEP 341: Default CDS Archives
JDK12のリリーススケジュールが正式に発表
最初のProposalではRC Phaseは1/31だったのですが、Rampdown Phase 2が2週間しかないのは短すぎないかという指摘があって、修正されたものが正式に発表されました。
2018/12/13 Rampdown Phase One (fork from main line) 2019/01/17 Rampdown Phase Two 2019/02/07 Release-Candidate Phase 2019/03/19 General Availability
Microsoft、Azul SystemsがAzure上でのLTSに言及
Azureで利用するためであればZulu Enterpriseのビルドを無償で提供すると、MicrosoftとAzulが発表しました。
Microsoft and Azul Systems bring free Java LTS support to Azure | Blog | Microsoft Azure
Red HatのOpenJDKサポート方針について
Red Hatは2023年までOpenJDK 8を顧客向けにサポートすることを表明していましたが、この際にUpstream firstポリシーに基づいて、OpenJDK8のクリティカルなバグやセキュリティの修正について行われ続けるということをブログに書いています。
The future of Java and OpenJDK updates without Oracle support - RHD Blog
AdoptOpenJDKでOpenJDK11が正式公開
AdoptOpenJDKでOpenJDK 11のビルドが正式にダウンロードできるようになっています。
https://adoptopenjdk.net/?variant=openjdk11&jvmVariant=hotspot
また、MacではHomebrew-caskを使ってOpenJDK 11がインストールできるようになったようです。
$ brew cask install adoptopenjdk
JDK12のeaにString.align、String.indentが追加
Raw String Litearals(RSL)で便利なメソッドとしてalignやindentが追加されています。
特にalignは、RSLを使ったコードをみやすくインデントしたときに追加される余分な空白をなんとかするために便利です。
RSLの最中にインデントするとこんな感じで余分な空白が入ります。
jshell> var s = ` ...> test ...> test ...> ` s ==> "\n test\n test\n "
これを、先頭に入るべき空白の数を指定して調整することができます。
jshell> var s = ` ...> test ...> test ...> `.align(0) s ==> "test\ntest\n"
元はこれを言語仕様として対処しようとしていたのですが、やはり落とし所が難しかったようで、メソッドとしての実装になりました。