Java10特性--基于时间的发布版本管理|java中新的版本字符串格式

151 阅读2分钟

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  

新版本格式有四个部分
FEATURE这将是一个功能的版本号,起始数字是10。这将是每六个版本的增量FEATURE - 这将是一个功能的版本号,起始数字是10。这将是每六个版本的增量 INTERIM - 这是一个代表临时版本的数字。这包括错误修复,没有主要的API变化。每六个月的计数器数字从零开始。

UPDATE更新发布的版本号。这在每个季度都会发生。如果是20187月的版本将是10.0.2如果是201810月的版本将是10.0.3如果是201812月的版本将是10.0.4UPDATE - 更新发布的版本号。这在每个季度都会发生。 如果是2018年7月的版本--将是10.0.2 如果是2018年10月的版本--将是10.0.3 如果是2018年12月的版本--将是10.0.4 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月起,每个主要或功能版本都有一个至少三年的版本更新。