Java 10 基于时间的版本控制
JEP 322 − 基于时间的版本控制
从Java 10开始,Oracle推出了严格的基于时间的版本控制模型用于Java版本。现在Java每六个月发布一个主要版本。Java 10在2018年3月发布,从现在开始,计划在每年的3月和9月发布所有主要版本。发布进一步分为三个大类别。
- 特性发布 − 特性发布包含特定语言功能,JVM功能,新/改进的API,API的移除/废弃。特性发布的时间是固定的,并且对于包含在特定发布中的特性没有约束。如果正在开发中的特性没有包含在最新发布中,那么它将计划在下一个发布中。
-
更新发布 − 更新发布包括错误修复,安全问题修复,回归修复等。每个更新发布计划在每个季度的1月,4月,7月和10月。在宣布下一个特性发布之前,每个特性发布将接收两个更新发布。
-
长期支持(LTS)发布 − 每隔三年发布一次长期支持发布,从2018年9月开始。Oracle将为这个发布提供支持和更新,持续三年。这个发布主要面向在生产环境中使用Java的公司。
版本格式
现在版本遵循以下格式。
$FEATURE.$INTERIM.$UPDATE.$PATCH
在Java 10中,以下是版本细节:
$FEATURE
− 这个数字表示主要功能发布,并在每个功能发布后递增1。对于Java 10,该数字为10.-
$INTERIM
− 这个数字表示任何非功能、非更新的发布,其中包含错误修复和增强功能。该发布不包含任何不兼容的更改、API的删除或对标准API的更改。功能发布时,该计数器为0. -
$UPDATE
− 这个数字表示功能发布后的更新发布。例如,Java 2018年4月的更新发布是JDK 10.0.1,2018年7月的是JDK 10.0.2,以此类推。 -
$PATCH
− 这个数字表示仅在紧急情况下递增的任何紧急发布。
示例
以下程序展示了JAVA 10版本的详细信息。
public class Tester {
public static void main(String[] args) {
Runtime.Version version = Runtime.version();
System.out.printf(" feature: %s%n interim: %s%n update: %s%n patch: %s%n",
version.feature(),
version.interim(),
version.update(),
version.patch());
}
}
输出
它将打印以下输出。
feature: 10
interim: 0
update: 2
patch: 0