java 10的新发布功能
这篇文章是关于Java 10如何引入基于时间的新发布模式。
它包括基于新功能的发布、更新的发布、长期支持的java和JDK现在和未来的发布。
JDK的增强建议编号是JEP 322-基于时间的发布新版本模式。
它允许终端用户根据版本决定是否升级到最新版本。
根据功能、错误修复和关键修复,每年都有不同的major 或minor 版本。
java主要或功能的发布过程
这个版本每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)
java10新版本字符串格式
$FEATURE.$INTERIM.$UPDATE.$PATCH
新版本格式有四个部分
$FEATURE :它是一个功能的版本号,起始数字是10。它每隔6个月递增一次
$INTERIM : 它是一个代表临时版本的数字。这包括错误修复,没有主要的API变化。计数器号码每六个月从零开始。
$UPDATE版本号:更新版本号。这发生在每一个季度。
如果是2018年7月的版本 - 它将是10.0.2
如果是2018年10月的版本 - 它将是10.0.3
如果是2018年12月的版本 - 它将是10.0.4
$PATCH :针对第一优先级或关键问题的补丁发布或紧急发布
$EMERG :紧急发布
java10类
随着Java 10的发布,我们可以通过Runtime.version() 方法获得版本信息,并返回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中找到系统属性的版本发布信息?
有两个系统属性java.version.date ,这是版本的发布日期。 java.vendor.version : 实现厂商的版本信息。
下面是一个关于java版本日期和厂商版本的例子
public class VersionDemo {
public static void main(String[] args) {
System.out.println(System.getProperty("java.version.date"));
System.out.println(System.getProperty("java.vendor.version"));
}
}
长期的版本支持
客户可以从Oracle获得任何主要功能的长期支持。
从2018年9月起,每个主要或功能版本都有一个至少三年的版本更新。