java 10的新发布功能
这篇文章是关于Java 10如何引入基于时间的新发布模式。这包括基于新功能的发布、更新的发布、长期支持的java和JDK现在和未来的发布。
JDK的增强建议编号为JEP 322-基于时间的发布新版本模式。
这允许终端用户根据版本决定是否升级到最新版本。根据功能、错误修复和关键修复,每年都有不同的主要或次要版本。
主要或功能发布过程
这个版本每6个月--3月和9月--会发生一次。
这包括Java SDK和JDK的主要变化,包括以下变化:
- 增加JVM功能
- 增加主要语言的变化
- API中的变化
- 废弃/删除的变化或功能
这个版本包括对错误和回归测试问题和小问题的修复。这将在每个季度发布 - 1月、4月、7月、10月。
现有的发布版本信息
B:\>java -version
java version "10.0.2" 2018-07-17
Java(TM) SE Runtime Environment 18.3 (build 10.0.2+13)
Java HotSpot(TM) 64-Bit Server VM 18.3 (build 10.0.2+13, mixed mode)
新版本字符串格式
$FEATURE.$INTERIM.$UPDATE.$PATCH
新版本格式有四个部分
INTERIM - 这是一个代表临时版本的数字。这包括错误修复,没有主要的API变化。每六个月的计数器数字从零开始。
PATCH--针对第一优先或关键问题的补丁发布或紧急发布
$EMERG--紧急发布
Java版本类
随着Java 10的发布,我们可以通过下面的类来获得版本信息。
使用Runtime.Version java类,我们可以得到新的版本信息。
下面是一个java.lang.Runtime.Version的例子
public class VersionDemo {
public static void main(String[] args) {
Runtime.Version version = Runtime.version();
int feature = version.feature();
int interim = version.interim();
int update = version.update();
int patch = version.patch();
System.out.println(" feature:" + feature);
System.out.println(" interim: " + interim);
System.out.println(" update: " + update);
System.out.println(" patch: " + patch);
}
}
输出是
feature:10
interim: 0
update: 2
patch: 0
版本发布信息的系统属性
java.version.date
这是该版本的发布日期
java.vendor.version
一个已实施的厂商的版本信息
长期的版本支持
客户对任何主要功能都有来自Oracle的长期支持。
从2018年9月起,每个主要或功能版本都有一个至少三年的版本更新。