昨日は17までだったけど、17以降の話も
11月21日のJJUG CCC
「Head toward Java 17 and Java 18」
で、話を聞いてきたので、以下メモメモ
●自己紹介
●メインはJava17
2021/9/14リリース。3年ぶりのLTS
●LTS
長期サポートバージョン
OpenJDKコミュニティ:半年ごとにバージョン上げる
3年ごとにLTS
(ただしOpenJDKはバイナリを作っていない)
2年ごとに変更する提案あり
→Oracleはそうする予定
CSR:日互換性をともなう変更のあるレビュー
NEW API since Java 11 というのがある
・用語
インキュベーター:試験機能
●Java17の機能
【追加機能 10個】
・内部APIの隠蔽強制的になる→使えない
所属しているクラス jdepsコマンドで確認
・MacOS(Apple Sillicon)対応
・Java2DAPIのMacOS対応
・疑似乱数生成(PRNG)の改善、新API提供(java.util.random)
・Java9のデシリアライズのフィルター
filter factory経緯で指定できる
・メモリAPIの提供(使いやすいJNI) 細かいAPI変更有
・VectorAPI
・浮動小数点の計算が厳密になる
・パターンマッチングがswitch文で(プレビュー)ガードパターン、カッコつきも
・シールクラス標準に昇格(継承、インターフェースを制限できる)
【削除・非推奨 4つ】
・AppletAPI非推奨
・セキュリティマネージャー非推奨
・RMI Activation削除(RMIそのものは非推奨でも削除でもない)
・一部のコンパイラ削除
【その他】
・ロギングの非同期出力
・TLS1.3デフォルト(いままでは1.2標準)
・Unsafe一部削除
・JDKフライトレコーダーに新しいイベントなど
・GCの性能改善
ZGC
G1GC
●Java18
・Java APIのcharsetがUTF-8デフォルト
・Simple Web Serverの提供
・JavaDocでコードスニペット対応
・VectorAPI
●メインはJava17
2021/9/14リリース。3年ぶりのLTS
●LTS
長期サポートバージョン
OpenJDKコミュニティ:半年ごとにバージョン上げる
3年ごとにLTS
(ただしOpenJDKはバイナリを作っていない)
2年ごとに変更する提案あり
→Oracleはそうする予定
CSR:日互換性をともなう変更のあるレビュー
NEW API since Java 11 というのがある
・用語
インキュベーター:試験機能
●Java17の機能
【追加機能 10個】
・内部APIの隠蔽強制的になる→使えない
所属しているクラス jdepsコマンドで確認
・MacOS(Apple Sillicon)対応
・Java2DAPIのMacOS対応
・疑似乱数生成(PRNG)の改善、新API提供(java.util.random)
・Java9のデシリアライズのフィルター
filter factory経緯で指定できる
・メモリAPIの提供(使いやすいJNI) 細かいAPI変更有
・VectorAPI
・浮動小数点の計算が厳密になる
・パターンマッチングがswitch文で(プレビュー)ガードパターン、カッコつきも
・シールクラス標準に昇格(継承、インターフェースを制限できる)
【削除・非推奨 4つ】
・AppletAPI非推奨
・セキュリティマネージャー非推奨
・RMI Activation削除(RMIそのものは非推奨でも削除でもない)
・一部のコンパイラ削除
【その他】
・ロギングの非同期出力
・TLS1.3デフォルト(いままでは1.2標準)
・Unsafe一部削除
・JDKフライトレコーダーに新しいイベントなど
・GCの性能改善
ZGC
G1GC
●Java18
・Java APIのcharsetがUTF-8デフォルト
・Simple Web Serverの提供
・JavaDocでコードスニペット対応
・VectorAPI