Java11について : JavaDayTokyo 2018 参加レポート1 #JavaDayTokyo
今年もJavaDayTokyoに参加させていただきました。
今年の自分なりのテーマは、以下についての情報収集でした。
- 半年後にリリースされるLTSバージョンであるJava11の新機能
- その他今後追加される機能について
- 特に、一昨年くらいから聞いているProject Valhalla。結構な数のコレクションをゴリゴリ処理するのが最近の自分のお仕事の大事なところなので、どうなったか興味アリ
このエントリでは主にJava 11についてまとめます。
Java 10とJava 11 の差
Java 10 からJava 11への追加機能として、現在8件のJPEが予定されているそうです。
http://openjdk.java.net/projects/jdk/11/
この内、コードの書き方に影響がありそうな、文法面での変更は、Project Amberの一つでもあるこれだけかなぁ…と。
JEP 323: Local-Variable Syntax for Lambda Parameters
ということで、Java8 → Java11の差は雑に言うと、
Project Jigsaw + "var"
と言っていいかなぁ… という気がしました。
櫻庭 祐一 さんのセッション、「Java SE 10、そしてJava SE 11への移行ガイド」でも、8つのチェックポイントが紹介されていましたが、ハマりどころになるのは概ねJigsaw絡みと感じました。
Ask the Experts! でもそのような回答だったようです。
Q.Java8からOpenJDK11に行こうとしてる、注意点ある?
— Takeo Hashimoto (@sempreff) 2018年5月17日
A.リコンパイルする前にそのまま動かす、エラー直す、コンパイルする、エラー直す、でテストする。非互換性が一番大きいのは 8-9 なので、そこを乗り越えれば多分いける。#JavaDayTokyo
11 の次の LTS バージョンは 17 !
Java 11の次のLTSバージョンは、2021年9月にリリースされるJava17とのこと。
私、1年半に一回LTSが出るものだと思っていたんですが、3年後なんですね。オリンピック終わっちゃってるのかぁ…
Mission Control と Flight RecorderがJDK11からオープンソースに
これまで有償ツールだったMission ControlとFlight Recorderが、JDK11から無償で使えるようになるとのこと。
基調講演内でデモがあったのですが、パフォーマンスの問題を見つけるのにずいぶん使えそうに見えました。
気になる…!