[关闭]
@xuemingdeng 2017-11-08T21:50:16.000000Z 字数 1761 阅读 724

最新的Java SE平台和JDK版本发布计划

未分类


摘要:

新发布的Java 9中包含了一项全新的发布版本计划,该发布计划基于JEP 223,主要用于Java平台未来的版本发布。不过,在新版本计划发布之后没多久,Java首席架构师Mark Reinhold提议使用一项严格的基于时间的版本计划来代替当前的发布模型。

正文:

最近发布的Java 9带来了诸多重大变更,包括一个全新的版本发布计划。该发布计划基于JEP 223,主要用于Java平台未来的版本发布。

不过在新版本计划发布之后,Java首席架构师Mark Reinhold立即提议再次修改当前的版本计划,使用更为严格的基于时间的发布模型。

基于JEP 223的版本计划主要目标如下:

Java 9的发布说明对新的版本号格式进行了描述:

  1. $MAJOR.$MINOR.$SECURITY.$PATCH

Reinhold提议使用一种基于时间的发布模型来代替该发布计划。他说,Java SE平台在过去几年经历了非同寻常的变化。

基于特性发布的方式一般都是因为需要与特性的开发速度保持一致。Reinhold说,这种发布方式已经过时了,Java现在需要与那些发展迅速的平台展开竞争。

受其他平台和各种操作系统发行计划的启发,我提议在Java 9之后使用一种严格的基于时间的发布模型,每六个月进行一次特性发布,每季度进行一次更新发布,每三年进行一次LTS(长期支持)发布。

该模型可以让那些急于尝鲜的开发者快速地采用最新的特性,而追求稳定性的企业则可以选择长期支持版本。他们可以提前进行计划,从一个长期支持版本迁移到下一个长期支持版本。

被提议的版本号格式如下:

  1. $YEAR.$MONTH

也就是说,2018年3月份的版本将会是18.3,2018年9月份的版本为18.9。Reinhold在jdk-dev邮件组中为基于绝对时间的版本模型做出辩护:

  • 绝对时间恰好反应出了发布日期,因为是基于时间的,所以对JDK的开发者和用户来说一目了然。如果因为要额外“新增一个特性”导致发布延迟也不会引起混乱。

  • 根据绝对时间可以很容易地知道版本有多旧,所以用户就可以知道自己使用的版本有多落后。而如果是相对时间,则需要知道时间单位是什么,以及版本号是基于什么时间计算得出的。

  • 绝对时间与发布节奏相互独立。如果在若干年后,我们采用更快的发布节奏,比如三个月,就不需要修改绝对时间,但如果是相对时间则需要调整时间单位和起点。

基于绝对时间的版本模型在社区中还不是很流行,Reinhold在邮件组中提出了修订版本。修订版与最初在JEP 223中出现的版本类似,只是做出了折中。

最新提议的版本号格式如下:

  1. $FEATURE.$INTERIM.$UPDATE.$EMERG

基本上这也是一种基于时间的发布计划。$FEATURE每六个月增加一次,$UPDATE每三个月增加一次。

如果使用这种模型,下一个特性发布版本(之前叫作主要版本)仍然是Java 10,将于2018年3月份发布,而Java 11将于2018年9月份发布。该提议仍然处于讨论之中,不过很快就会有一个结果。

查看英文原文:New Version Scheme for Java SE Platform and the JDK

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注