Java LTS 版本简单介绍
Java 的版本号现在看着有点密,其实规律不复杂:每年 3 月和 9 月各发一个功能版本,从 Java 17 开始,每隔两年左右会有一个 LTS。LTS 的支持周期长,适合生产环境;非 LTS 版本官方支持通常只有半年,更适合尝鲜和验证新特性。
目前还在服役的 LTS 主要是 8、11、17、21、25。下面按时间顺序说。
Java 8:还在服役的老兵
2014 年 3 月发布。Lambda、Stream、Optional、新的日期时间 API 都是这一版带来的,Java 的写法从它开始变了一截。新项目基本不会选它了,但存量系统还很多。升级时先看框架和第三方库,别只盯着 JDK。
Java 11:从 8 到 17 的中间站
2018 年 9 月发布。var 局部变量推断、HttpClient、String 的 isBlank/lines/strip/repeat、Files.readString 这些日常 API 都挺实用。ZGC 在这一版开始实验。它更像一个过渡版本,专门为它重构项目的动力不大,但从 8 升上来阻力小。
Java 17:很多框架的基线
2021 年 9 月发布。record、sealed class 在这一版转正,文本块和 instanceof 模式匹配也已经稳定。Spring Boot 3 把 Java 17 作为最低版本,所以它的采用率很高。现在做新项目,17 仍然是稳妥选择,尤其是依赖链比较老的团队。
Java 21:虚拟线程带来的分水岭
2023 年 9 月发布。虚拟线程是最有存在感的变化,I/O 密集的服务可以用很低的成本开大量线程。switch 模式匹配、记录模式、有序集合也都转正了。新项目如果没有历史包袱,21 是目前比较舒服的落脚点。
Java 25:最新的 LTS
2025 年 9 月发布。语法上继续减负:紧凑源文件、灵活构造函数体、import module。Scoped Values 转正,紧凑对象头能省内存(默认关闭,要手动开),AOT 缓存让启动更快。它适合愿意跟进新 LTS 的团队,升级前先拿非核心服务试,别一上来就全量切。
怎么选
新项目优先 21 或 25;存量 8/11 系统先升到 17,再往 21 或 25 走。别一次跨太多版本,先把依赖和构建工具升上去,再动语言特性。LTS 只是支持周期长,不代表功能最多,非 LTS 里的新东西会先试水,稳定后再进入下一个 LTS。
- 点赞
- 收藏
- 关注作者
评论(0)