JDK 11(LTS)#
JDK 11(2018-09 GA)是 8 之后第一个 LTS,也是「从 8 迈出第一步」最稳妥的台阶。本篇覆盖:
语言特性
- var:局部变量类型推断
- 小语言增强(JDK 9):try-with-resources 事实 final 变量、接口 private 方法
标准库
- String 增强:strip / isBlank / lines / repeat
- 集合工厂方法:List.of / Set.of / Map.of
- Stream 与 Optional 增强:takeWhile / dropWhile、isEmpty / ifPresentOrElse / or
- Files 增强:readString / writeString 一行读写文本(默认 UTF-8)
- HTTP Client:取代 HttpURLConnection,支持 HTTP/2 与异步
工具与运行时
- JVM 与运行时更新:G1 默认化、Epsilon/ZGC 实验、JFR 开源、单文件启动
JDK 11 在阶梯上的位置#
从 8 升到 11,语言层面变化温和(主要就是 var),但 标准库(String 新方法、不可变集合工厂)与 JVM 与运行时 变化很大:默认 GC 换成 G1、JFR 开源、单文件启动。对很多「卡在 8」的团队,11 是性价比极高的第一站。
下一站:JDK 17