Java 11 がリリース
予定通り Java 11 がリリースされた。
Windows 版だとこんな感じ。
$ java --version
openjdk 11 2018-09-25
OpenJDK Runtime Environment 18.9 (build 11+28)
OpenJDK 64-Bit Server VM 18.9 (build 11+28, mixed mode)
Oracle Java に関しては,予告どおり,有償の LTS (Long Term Support) としてのリリースとなる。
- JDK 11 Is Released! | Oracle The Java Tutorials Blog
- JDK 11 Release Notes
- Oracle Java SE サポート・ロードマップ
有償ではあるが2026年9月までの長期サポート1 となるため, Java と共に滅びる勇気があるのであれば,そちらに乗り換えるのも手であろう。 なお Java 8 に関しては2019年1月までは無償でサポートされる2。
OpenJDK が無償で LTS を行うのではないかという希望的観測もあったが,今のところそういう話は聞こえないようだ。 Red Hat など,ディストリビュータによっては独自の延長サポートもあるようなので調べてみるのもいいだろう。
他には AdoptOpenJDK あたりも良いらしい3。
個人的な偏見で言わせてもらえば Java は1980年代から1990年代にかけて起こった UNIX 機メーカ間戦争の遺児みたいなもので,ライブラリやフレームワークを含めてバイナリ互換を目指すのであれば後方互換性は絶対条件である筈だったのだ。 Java 9 以降でそれを投げ捨ててしまった今, Java の優位性はないと声を大にして言いたい。 バイナリ互換を保証しなくていいのなら他に FOSS で優秀なプログラミング言語が幾らでもあるのだから。
まぁ Java 8 互換バージョンを legacy Java としてできるだけ維持しつつ徐々に Java 縛りから脱却するのが中長期戦略として妥当だと思うのだけどねぇ。
【2018-10-21 追記】 Java 11.0.1 がリリース(セキュリティ・リリース)
2018年10月の定期アップデートに伴い脆弱性の報告が行われている。
- Oracle Java の脆弱性対策について(CVE-2018-3183等):IPA 独立行政法人 情報処理推進機構
- 2018年10月 Oracle 製品のクリティカルパッチアップデートに関する注意喚起
Oracle Java だけでなく OpenJDK も更新されているのでアップデートを行うこと。 以下は Windows 64bit 版の場合
$ java --version
openjdk 11.0.1 2018-10-16
OpenJDK Runtime Environment 18.9 (build 11.0.1+13)
OpenJDK 64-Bit Server VM 18.9 (build 11.0.1+13, mixed mode)
アップデートは計画的に。