虽然 JDK 17 的 Premier Support Until 到 2026 年的 9 月。
但 Jenkins 上的大大提示 JDK 17 已经逐步不被支持。
对于新开的项目,还是建议使用 JDK 21 版本。
JDK 21 于 2023 年 9 月 19 日 发布,这是一个非常重要的版本,里程碑式。
JDK 21 是 LTS(长期支持版),至此为止,目前有 JDK8、JDK11、JDK17 和 JDK21 这四个长期支持版了。
JDK 21 共有 15 个新特性,这篇文章会挑选其中较为重要的一些新特性进行详细介绍:
- JEP 430: String Templates(字符串模板)(预览)
- JEP 431: Sequenced Collections(序列化集合)
- JEP 439: Generational ZGC(分代 ZGC)
- JEP 440: Record Patterns(记录模式)
- JEP 441: Pattern Matching for switch(switch 的模式匹配)
- JEP 442: Foreign Function & Memory API(外部函数和内存 API)(第三次预览)
- JEP 443: Unnamed Patterns and Variables(未命名模式和变量)(预览)
- JEP 444: Virtual Threads(虚拟线程)
- JEP 445: Unnamed Classes and Instance Main Methods(未命名类和实例 main 方法)(预览)
下图是从 JDK 8 到 JDK 24 每个版本的更新带来的新特性数量和更新时间:
JDK8,这个版本还是用得很多。


