Java 11 がリリース

no extension

予定通り 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) としてのリリースとなる。

有償ではあるが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 だけでなく 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)

アップデートは計画的に。

ブックマーク


  1. Extended Support の期限。 Sustaining Support であればバージョンに依らず無期限だがお高い。 ↩︎

  2. 個人ユーザは2020年12月まで無償でサポートされる。ユーザ端末に JRE を入れさせる馬鹿な実装が今だに多いので仕方ないといったところだろうか。 ↩︎

  3. Java 8 については少なくとも2023年9月まではサポートされるようだ。 ↩︎