Java10 - 如何引入基于时间的新发布模式 | Java中的新版本字符串格式

87 阅读2分钟

java 10的新发布功能

这篇文章是关于Java 10如何引入基于时间的新发布模式。

它包括基于新功能的发布、更新的发布、长期支持的java和JDK现在和未来的发布。

JDK的增强建议编号是JEP 322-基于时间的发布新版本模式。

它允许终端用户根据版本决定是否升级到最新版本。

根据功能、错误修复和关键修复,每年都有不同的majorminor 版本。

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月起,每个主要或功能版本都有一个至少三年的版本更新。