本文概述
Java版本字符串是一种包含版本特定信息的格式。此版本字符串包含主要, 次要, 安全性和修补程序更新版本。
在Java 9中, 引入了一个新的版本字符串方案, 如下所示。
$MAJOR.$MINOR.$SECURITY.$PATCH
$主要
此版本号显示Java版本的重大更改。当发生重大变化时, 它会增加。就像Java 8到Java 9一样。每个主要版本都包含现有功能的新功能。
$ MINOR
此版本号显示Java版本中的细微更改, 并随每次较小的更新而增加。这些更新可以是错误修复, 对标准API的修订等。如果将更新发布到Java 9, 则版本字符串格式将为Java 9.1(包含主要和次要版本号)。
$安全
此版本号表示安全更新, 并且每个新的安全更新都会增加。安全更新可能是关键修复程序和安全问题。如果对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() | 它返回可选的其他标识构建信息。 |
静态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]
评论前必须登录!
注册