从Java 10开始,Oracle调整了基于时间的版本字符串方案[JEP 322]。新的基于时间的模型已取代了过去基于函数的多年发布模型。与旧版本不同,新的基于时间的版本不会被延迟,并且函数将每六个月发布,并且不受发行版中哪些函数的限制。
更新版本每季度发布一次(1月,4月,7月,10月)。更新版本将严格限于安全性问题,回归和新函数中的错误的修复。按照进度计划,可以说每个函数版本在下一个函数版本发布之前都会收到两个更新。
如果在命令提示符/终端中运行命令 java -version
,则将获得如下输出版本信息:
C:\Users\Lokesh>java -version java version "10.0.1" 2018-04-17 Java(TM) SE Runtime Environment 18.3 (build 10.0.1+10) Java HotSpot(TM) 64-Bit Server VM 18.3 (build 10.0.1+10, mixed mode)
版本号的新格式为:
$FEATURE.$INTERIM.$UPDATE.$PATCH
名称 | Remark |
---|---|
$FEATURE | 它将每6个月增加一次,具体取决于函数发布版本,例如:JDK 10,JDK11。(以前为 $MAJOR 。) |
$INTERIM | 通常这将是零,因为六个月内不会有任何临时发布。对于包含兼容的错误修复和增强函数但不兼容的更改,不删除的函数以及对标准API的更改的非函数版本,它将增加。 (以前为 $MINOR 。) |
$UPDATE | 对于兼容的更新版本(针对解决安全问题,回归和较新函数中的错误),它将增加。 (以前为 $SECURITY 。) |
$PATCH | 只有在需要紧急发布以解决关键问题时,它才会递增。 |
Runtime.version()
可用于以编程方式获取版本计数器值。例如
Version version = Runtime.version(); version.feature(); version.interim(); version.update(); version.patch(); Output: 10 0 1 0
Version version = Runtime.Version.parse("10.0.1"); version.feature(); version.interim(); version.update(); version.patch();
它主要针对企业客户。 LTS版本的产品将提供Oracle的首要和持续支持,目标是每三年一次。此外,这些版本的更新将至少提供三年。
这将导致“ LTS”在java –versions的输出中突出显示。例如例如, 11.0.2+13-LTS
学习愉快!
祝学习愉快!(内容编辑有误?请选中要编辑内容 -> 右键 -> 修改 -> 提交!)