🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
# Java 版本 – 基于时间的发行版本控制 > 原文: [https://howtodoinjava.com/java10/java-version/](https://howtodoinjava.com/java10/java-version/) 从 Java 10 开始,Oracle 调整了基于时间的版本字符串方案(JEP 322)。 新的基于时间的模型已取代了过去基于特性的多年发布模型。 与旧版本不同,新的基于时间的版本不会延迟,并且**特性将每六个月发布一次**,而对于该版本中可以发布的特性没有任何限制。 **更新版本将在每个季度**(1 月,4 月,7 月,10 月)发布。 更新版本将严格限于安全性问题,回归和较新特性中的错误的修复。 按照进度计划,可以说每个特性版本在下一个特性版本发布之前都会收到两个更新。 ## Java 版本格式 如果在逗号和提示/终端中运行命令`java -version`,您将获得以下输出版本信息: ```java C:\Users\Lokesh>java -version java version "10.0.1" 2018-04-17 Java(TM) SE Runtime Environment 18.3 (build 10.0.1+10) Java HotSpot(TM) 64-Bit Server VM 18.3 (build 10.0.1+10, mixed mode) ``` 版本号的新格式为: > `$FEATURE.$INTERIM.$UPDATE.$PATCH` | 名称 | 描述 | | --- | --- | | `$FEATURE` | 它会每 6 个月增加一次,具体取决于特性发布版本,例如:JDK 10,JDK11。(以前为`$MAJOR`。) | | `$INTERIM` | 通常为零,因为六个月内不会有任何中期发布。 对于包含兼容的错误修复和增强特性但不兼容的更改,不删除的特性以及对标准 API 的更改的非特性版本,它将增加。 (以前为`$MINOR`。) | | `$UPDATE` | 对于解决安全问题,回归和较新特性中的错误的兼容更新版本,它将递增。 (以前为`$SECURITY`。) | | `$PATCH` | 仅在需要紧急发布以解决关键问题时才会增加。 | 版本号中的数字序列与其他此类序列以数字逐点方式进行比较; 例如`10.0.4`小于`10.1.2 `。 如果一个序列比另一个序列短,则认为较短序列的缺失元素少于较长序列的对应元素; 例如`10.0.2`小于`10.0.2.1`。 ## Java 版本 API `Runtime.version()`可用于以编程方式获取版本计数器值。 例如 ```java Version version = Runtime.version(); version.feature(); version.interim(); version.update(); version.patch(); Output: 10 0 1 0 ``` #### 解析现有版本 ```java Version version = Runtime.Version.parse("10.0.1"); version.feature(); version.interim(); version.update(); version.patch(); ``` ## 长期发行(LTS) 它主要针对企业客户。 LTS 版本的产品将提供 Oracle 的首要和持续的支持,目标是每三年一次。 此外,这些版本的更新将至少提供三年。 这将导致“LTS”在`java –versions`的输出中突出显示。 例如`11.0.2+13-LTS` 学习愉快! 参考: [http://openjdk.java.net/jeps/322](https://openjdk.java.net/jeps/322)