Java 新版本不是 JDK 1.9

开发 后端
JDK增强提案(JEP)223是一种新的JDK版本命名规则,旨在使主要版本、小版本及安全版本的辨认更简单。它更简单、更直观、易于解析,并且与当前的行业做法一致,尤其是“语义版本命名(Semantic Versioning)”规则。例如,如果使用新的版本命名规则,版本字符串JDK 1.7.0_65-b20(7u65)将变成JDK 7.6.15+20(7.6.15)。

JDK增强提案(JEP)223是一种新的JDK版本命名规则,旨在使主要版本、小版本及安全版本的辨认更简单。它更简单、更直观、易于解析,并且与当前的行业做法一致,尤其是“语义版本命名(Semantic Versioning)”规则。例如,如果使用新的版本命名规则,版本字符串JDK 1.7.0_65-b20(7u65)将变成JDK 7.6.15+20(7.6.15)。

在现有的JDK版本命名规则中,“JDK 7 Update 65”、“JDK 1.7.0_65”和“JDK 7u65”是同一版本的不同名称。要识别和比较这些版本,简单地对解析出的标记逐点比较是不够的,这需要一个相当复杂的算法。另外,小写字母“u”既不是 行业标准,也不是语言无关的。在现有的JDK数字命名规则中,小版本是20的倍数,它包含除安全修复之外的更新。安全版本是奇数,在之前小版本的基础上加 5或6得出。那些不熟悉这种数字命名规则的用户可能会认为“JDK 7 Update 60”是“JDK 7 Update 55”之后的第五个版本,并且错误地认为前者有更多安全方面的修复。小版本和安全版本的这种用一个数值编码的方法不容易辨认,而且也会跳过许多版本。

JEP 223的目标:版本应该易于理解和解析,应该与当前的语义版本命名这一行业做法一致,而且它应该可供现有的打包和部署系统使用。该提案还将提供一个API,用于版本字符串解析、验证和比较。改变先前JDK版本的版本字符串格式并不是该项提案的目标。

版本号是一个由非负整数组成的非空序列,由句点分隔。它不包含前导零,并且匹配正则表达式[1-9][0-9]*(\.(0|[1-9] [0-9]*))*。前三个基本部分是$MAJOR.$MINOR.$SECURITY。主要版本包含了新Java SE平台规范所指定的重要新特性,其发布时$MAJOR会增加。小的更新版本可能包含兼容的Bug修复、修改了标准API以及实现了像新的垃圾收集器或支 持新硬件架构这样的新特性,其发布时$MINOR会增加。安全更新版本包含了重要的补丁,其发布时$SECURITY会增加。当$MAJOR增加 时,$MINOR和$SECURITY会重置为0。在$MAJOR值一定的情况下,不管$MINOR值是多少,$SECURITY值越大就表明它是一个更 安全的版本。

版本字符串由版本号、可选的预发布及构建信息组成。预发布标识ea表示早期试用版本,正处于活跃开发状态。每完成一次构建,内部版本号都会 增加,当版本号的任何部分增加时,内部版本号都会重置为1。去掉尾随零的版本字符串称为短版本字符串。下表比较了JDK 9的两种可能的版本字符串,包括现有格式和提案格式。请注意,现有的假定JDK版本号永远以1开头的代码将无法正常工作。

                      Existing                Proposed
Release Type    long           short    long           short
------------    --------------------    --------------------
Early Access    1.9.0-ea-b19    9-ea    9.0.0-ea+19    9-ea
Major           1.9.0-b100      9       9.0.0+100      9
Security #1     1.9.0_5-b20     9u5     9.0.1+20       9.0.1
Security #2     1.9.0_11-b12    9u11    9.0.2+12       9.0.2
Minor #1        1.9.0_20-b62    9u20    9.1.2+62       9.1.2
Security #3     1.9.0_25-b15    9u25    9.1.3+15       9.1.3
Security #4     1.9.0_31-b08    9u31    9.1.4+8        9.1.4
Minor #2        1.9.0_40-b45    9u40    9.2.4+45       9.2.4

该提案于2014年10月20日创建,现在处于候选状态,将随JDK 9一起发布。要了解更多信息,包括一个JDK Java API示例,请阅读JEP 223以及JBS(JDK Bug System)8061493

查看英文原文:New Java Version - it's not JDK 1.9

原文链接:http://www.infoq.com/cn/news/2014/12/new-java-version-its-not-jdk19

责任编辑:张伟 来源: infoq
相关推荐

2009-07-07 16:10:02

JDK最新版本JDK安装JDK下载

2011-08-01 15:35:51

GlassFishJava 7

2013-02-28 11:28:30

2015-02-05 16:59:36

平安WiFiiOS

2009-06-17 09:24:34

学习strutsStruts新版本

2010-02-23 17:44:48

Python 3.0

2012-09-24 11:50:04

IBMdw

2009-08-02 08:59:47

Windows 7 R系统升级

2023-10-13 12:32:54

2014-04-17 11:24:44

GoogleAndroid

2023-05-05 06:19:30

版本Windows 11企业版

2012-05-15 13:39:41

微软Windows8

2009-12-29 13:43:21

Ubuntu 9.10

2009-12-31 11:09:36

Ubuntu wine

2023-05-18 08:00:59

CephRGW 性能

2010-05-24 19:09:01

SubVersion最

2011-12-20 11:05:29

JBoss企业门户红帽

2011-04-25 13:23:15

Windows PhoWindows Pho微软

2013-12-27 10:25:24

Ubuntu操作系统

2013-12-04 16:19:39

点赞
收藏

51CTO技术栈公众号