Fork me on GitHub

Java 10 基于时间的发布版本

前言

从Java 10开始,Oracle已经适应了基于时间的版本字符串方案[JEP 322]。新的基于时间的模型已经取代了过去基于特性的多年发布模型。与旧版本不同的是,基于时间的新版本不会延迟发布,新功能将每六个月发布一次,对新版本中可以发布哪些功能没有限制。

更新版本将在每个季度(1月、4月、7月、10月)发布。更新版本将严格限制在新特性的安全问题、回归和bug的修复上。根据计划安排,我们可以说每个特性发布在下一次特性发布之前会收到两次更新。

正文

Java版本格式化

如果我们在终端运行java -version命令,那么将会得到如下的版本信息输出:

1
2
3
4
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)

新的版本号格式是这样的:

1
$FEATURE.$INTERIM.$UPDATE.$PATCH
COUNTER NAMEDESCRIPTION
$FEATURE每6个月将增加,如下:JDK 10, JDK 11. (旧称 $MAJOR.)
$INTERIM这个通常是0,在6个月期限内。对于包含兼容的bug修复和增强,但没有不兼容的更改、没有删除特性和对标准api没有更改的非特性发布,它将增加。(旧称:$MINOR)
$UPDATE在处理兼容的更新版本,以修复新特性中的安全问题、倒退和bug时,它将会增加.(旧称:$SECURITY)
$PATCH只有在需要生成紧急版本来修复关键问题时,才会增加它。

将一个版本号中的数字序列与另一个版本号中的数字序列进行逐点比较;例如,10.0.4小于10.1.2。如果一个序列短于另一个序列,则认为短序列缺少的元素小于长序列相应的元素;例如,10.0.2小于10.0.2.1。

Java Version API

Runtime.version() 使我们可以通过代码去获取版本信息。如下:

1
2
3
4
5
6
7
8
9
10
11
12
Version version = Runtime.version();
version.feature();
version.interim();
version.update();
version.patch();

Output:

10
0
1
0

版本的转换:

1
2
3
4
5
6
Version version = Runtime.Version.parse("10.0.1");

version.feature();
version.interim();
version.update();
version.patch();

长期版本支持 (LTS)

主要面向企业客户。Oracle将为LTS版本的产品将提供卓越和持续的支持。此外,这些版本的更新将至少在三年内可用。

“LTS”在java -version的输出中会突出显示。例如: 11.0.2 + 13-LTS

结语

以上就是关于Java 10 版本的全部内容。




-------------文章结束啦 ~\(≧▽≦)/~ 感谢您的阅读-------------

SakuraTears wechat
扫一扫关注我的公众号
您的支持就是我创作的动力!
0%