当你还在用 Java 8 开发时,突然发现 Java 16 已经发布了,Java 17 已经在路上。Java 的版本变化也太快了吧。
在 Java 9 之前,Java 的版本更新一直都是比较慢的。比如,Java 9和 Java 8 之间的间隔时间长达3年半。如此长的发布间隔,显然不能满足当前的需求。
Java 9 之后的版本更新
从 Java 9 开始,Java 改变了之前的以功能特性为导向的发布周期,而是转为固定时间间隔的火车发布模式,也就是release train。火车定时发车,赶不上这次车的乘客,就只能等下一班火车。
Java的固定发布时间是每年的3月和9月。Java 16 是2021年3月发布的,而 Java 17则会在9月发布。
除了每年定期的两个版本之外,Java 还引入了LTS版本的概念。LTS表示长期支持版本。Ubuntu 和 NodeJS 都有类似的概念。目前 Java 8 和 Java 11 是LTS版本。Java 17 是下一个LTS版本。除了LTS版本之外的其他版本,都认为是在上一个LTS版本之上的小的功能改进。下图给出了 Java 不同版本的发布时间。
两次发布的间隔只有6个月。对于一些改动比较大的功能来说,6个月的时间有些短了。因此,Java引入了预览功能的概念。一些改动会以预