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

\\

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

\\

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

\\

  • 版本号更易于理解\\t
  • 与当前业界的实际情况相吻合\\t
  • 能够适用于已有的包系统和平台部署机制\\t
  • 避免在版本号中使用两种信息元素\\t
  • 提供简单的API用于解析、验证和比较版本号\

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

\\

\$MAJOR.$MINOR.$SECURITY.$PATCH

\\

  • $MAJOR版本号随着主要版本的发布而增加,发布版本中需要包含实现了Java SE平台规范的重要新特性。主要版本中包含的新特性会提前进行计划和声明。\\t
  • $MINOR版本号随着次要版本的发布而增加,比如缺陷修复、修订标准API或者实现了平台规范以外的特性。\\t
  • $SECURITY版本号随着安全更新的发布而增加,发布版本中需要包含关键的安全问题修复。\\t
  • $PATCH版本号随着包含了安全和高优先级用户问题修复的版本发布而增加。\

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

\\

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

\\

\

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

\

\\

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

\\

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

\\

\$YEAR.$MONTH

\\

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

\\

\

  • \\t

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

    \\t\\t

  • \\t

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

    \\t\\t

  • \\t

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

    \\t\

\\

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

\\

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

\\

\$FEATURE.$INTERIM.$UPDATE.$EMERG

\\

  • $FEATURE计数每六个月增加一次,不管发布的内容是什么。\\t
  • $INTERIM计数的增加并不包含特性发布,而是缺陷修复和增强,不包含不兼容的变更。对于当前的六个月周期发布模型来说,这个数字一般是零。\\t
  • $UPDATE计数每三个月增加一次,包含兼容性的更新,如安全问题修复、回退问题修复以及新特性问题修复。\\t
  • $EMERG计数只在需要发布紧急版本的时候增加。\

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

\\

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

\\

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

\\

最新的Java SE平台和JDK版本发布计划相关推荐

  1. java se安装_安装Java SE平台

    安装Java SE平台 Java SE平台是学习掌握Java语言的最佳平台,而掌握Java SE又是进一步学习Java EE和Java ME所必须的. 1.下载JDK1.7. 本书将使用针对Windo ...

  2. Java SE Development Kit (JDK) 安装

    Java SE Development Kit (JDK) 安装 java jdk \ jre 这两个文件最好放在一个文件夹下 安装完成后 环境变量添加 系统变量中会有javapath(没有自己添加) ...

  3. java jocky 下载,jocky1.0.3 (原joc) java混淆器 去除jdk版本限制

    这是jocky1.0.3 (原joc) java混淆器 去除jdk版本限制下载,不支持现在的1.6.1.7等更高版本,现在我把某部分限制代码从class文件里面去除了,测试过可以用,更详细的说明在压缩 ...

  4. 重磅丨云和恩墨zCloud数据库云管平台2.0版本发布

    重磅丨云和恩墨zCloud数据库云管平台2.0版本发布 7月,大家可能正在忍受着酷暑天气,或者在暴雨中奔走,但不变的是DBA对用户数据库及数据保障依然十分关心.在此期间,云和恩墨发布了zCloud数据 ...

  5. 博云 BeyondCMP 云管理平台 5.6 版本发布

    近日,博云 BeyondCMP 云管理平台 5.6 版本发布正式发布.为了满足不同行业客户对云管理平台的多样化需求,在资源纳管.资源运维.平台综合展示.易用性友好性等方面进行了全面提升. 点击立即申请 ...

  6. Java语言平台的三大版本

    Java语言平台有三个版本,这使软件开发人员.服务提供商和设备生产商可以针对特定的市场进行开发: 1.JavaSE(Java Standard Edition) 也称为J2SE,标准版本.用于服务器. ...

  7. kattle的java安装,Kettle自定义JDK版本(附Linux下安装部署步骤)

    现需要在某台服务器上安装Kettle8.3,但该机器的JDK版本是JDK1.7,因此需要为Kettle单独指定 JAVA_HOME,方法如下: vi  data-integration/set-pen ...

  8. 开源运维平台V3 正式版本发布

    开源运维平台Spug 经过15个Bata版本,终于在2021年12月24日发布了v3.0.2 Release正式版本.这次由于相对2.x版本前端框架做了升级,功能也做了一些改动,所以v3版本发布后,一 ...

  9. 关于eclpse java项目与tomcat jdk版本不一致的解决方法

    最近,在eclipse中tomcat(jdk1.7)添加项目的时候,项目添加不进去,报jdk(项目中jdk1.8)版本不一致的错误.下面是我的解决过程: 选中项目按ALT+回车 一.选择替换jdk如下 ...

最新文章

  1. python是c语言写的吗-python是用c写的吗
  2. 文档模式引起的浏览器兼容问题
  3. OpenCASCADE绘制测试线束:图形命令之VIS 查看器命令
  4. 这些道理,未必正确,一定准确
  5. centos 下端口开放设置
  6. MySQL(22)--- NULL 值处理
  7. 以一个通俗易懂的方式解释一下写程序为什么要声明接口和类,面向对象的编程思想,字数不多,主要通过代码理解
  8. CCF NOI1059 表达式求值
  9. Js打印object对象两种方法
  10. 面向对象之多态、多态性
  11. Flink计算pv和uv的通用方法
  12. 微信小程序--游戏demo
  13. 【Little Demo】从简单的Tab标签到Tab图片切换
  14. Html设置背景图模糊,CSS设置背景图片模糊内容不模糊的解决方法
  15. java设计模式之Facade模式
  16. llvm libLLVMCore源码分析 05 - Instruction Class
  17. 【机器学习】监督学习,非监督学习,半监督学习三者的定义区别及举例分析
  18. 基于JAVA的电子招投标系统的设计与实现
  19. Nintendo DS(NDS) 开发环境配置教程
  20. WGCNA(加权基因共表达网络分析)

热门文章

  1. VUE—从入门到飞起(一)
  2. Flutter web问题:Failed to load network image
  3. Flutter 如何禁止手机横屏[Flutter专题62]
  4. 速看,三分钟带你了解IP协议!
  5. 8、mybatis之增删改查
  6. sql 计算两个小数乘积_数学家是如何计算出π的?
  7. vscode安装python插件_python之VSCode
  8. PPT 下载 | 神策数据算法专家:推荐系统的实践与思考(下)
  9. BootStrap 效果展示
  10. UIProgressView的使用