Java教程

Java9 新版本字符串方案

Java版本字符串是一种包含版本特定信息的格式。此版本字符串包括主要版本,次要版本,安全版本和补丁更新版本。
在Java 9中,引入了一个新的版本字符串方案,如下所示。
$MAJOR.$MINOR.$SECURITY.$PATCH

$ MAJOR

此版本号显示Java版本的主要变化。当发生重大变化时,它会增加。就像Java 8到Java 9一样。每个主要版本都包含现有功能的新功能。

$ MINOR

此版本号显示Java版本中的细微变化,并随每次较小的更新而增加。这些更新可以是错误修复,对标准API的修订等。如果将更新发布到Java 9,则版本字符串格式将为Java 9.1(包含主要和次要版本号)。

$ SECURITY

此版本号表示安全更新,并随每个新的安全更新而增加。安全更新可能是关键修复程序和安全问题。如果对Java 9发布了任何安全更新,则版本字符串格式将类似于: Java 9.1.5(包含主要版本,次要版本和安全版本号)。

$ PATCH

对于每个经过安全测试的安全性和高优先级客户修复程序,此版本号都会增加。如果将修补程序发布到Java 9,则版本字符串格式将为Java 9.1.5.1(包含主要,次要,安全性和补丁程序发布编号)。
注意: 如果任何$ SECURITY,$ MINOR或$ MAJOR版本号增加,则每次$ PATCH版本号都重置为零。
如果$ MAJOR版本号增加,则$ MINOR和$ SECURITY版本号将设置为零。但是,当$ MINOR版本号增加时,随后的$ SECURITY版本号不必设置为零。
在Java 9中,添加了Runtime.Version类以获取Java版本信息。此类包含方法并具有以下签名。

Java Runtime.Version类签名

public static final class Runtime.Version extends Object implements Comparable<Runtime.Version>

Java Runtime.Version类方法

修饰符和类型 方法 说明
Optional<Integer> build() 它返回内部版本号。
int compareTo(Runtime.Version obj) 它将此版本与另一个版本进行比较。
int compareToIgnoreOptional(Runtime.Version obj) 它将此版本与另一个版本(不考虑可选的构建信息)进行比较。
boolean equals(Object obj) 它确定此版本是否等于另一个对象。
boolean equalsIgnoreOptional(Object obj) 它确定此版本是否等于另一个版本,而忽略可选的构建信息。
int hashCode() 它返回该版本的哈希码。
int major() 它返回主要版本号。
int major() 它返回次要版本号,如果未设置,则返回零。
Optional<String> optional() 它返回可选的其他标识构建信息。
static Runtime.Version parse(String s) 它将给定的字符串解析为一个有效的版本字符串,其中包含版本号,后跟预发行版本和内部版本信息。
Optional<String> pre() 它返回可选的预发行信息。
int security() 它返回安全版本号,如果未设置,则返回零。
String toString() 它返回此版本的字符串表示形式。
List<Integer> version() 它返回版本号中包含的不可修改的整数列表。

Java Runtime.Version示例

public class VersionInfoExample {
  public static void main(String[] args) {
    Runtime.Version version = Runtime.version();           // Getting runtime version instance
    System.out.println("Current version is "+version);      // Getting current Java version
    System.out.println("Major version number "+version.major()); // Getting major version number
    System.out.println("Minor version number "+version.minor()); // Getting minor version number
    System.out.println("Security version number "+version.security());   // Getting security version number
    System.out.println("Pre-released information "+version.pre());     // Getting pre-release version information
    System.out.println("Build Number "+version.build());         // Getting Optional build number
  }
}
输出:
Current version is 9.0.1+11
Major version number 9
Minor version number 0
Security version number 1
Pre-released information Optional.empty
Build Number Optional[11]

昵称: 邮箱:
Copyright © 2022 立地货 All Rights Reserved.
备案号:京ICP备14037608号-4