最新的Java SE平台和JDK版本发布计划
最近发布的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版本发布计划相关推荐
- java se安装_安装Java SE平台
安装Java SE平台 Java SE平台是学习掌握Java语言的最佳平台,而掌握Java SE又是进一步学习Java EE和Java ME所必须的. 1.下载JDK1.7. 本书将使用针对Windo ...
- Java SE Development Kit (JDK) 安装
Java SE Development Kit (JDK) 安装 java jdk \ jre 这两个文件最好放在一个文件夹下 安装完成后 环境变量添加 系统变量中会有javapath(没有自己添加) ...
- java jocky 下载,jocky1.0.3 (原joc) java混淆器 去除jdk版本限制
这是jocky1.0.3 (原joc) java混淆器 去除jdk版本限制下载,不支持现在的1.6.1.7等更高版本,现在我把某部分限制代码从class文件里面去除了,测试过可以用,更详细的说明在压缩 ...
- 重磅丨云和恩墨zCloud数据库云管平台2.0版本发布
重磅丨云和恩墨zCloud数据库云管平台2.0版本发布 7月,大家可能正在忍受着酷暑天气,或者在暴雨中奔走,但不变的是DBA对用户数据库及数据保障依然十分关心.在此期间,云和恩墨发布了zCloud数据 ...
- 博云 BeyondCMP 云管理平台 5.6 版本发布
近日,博云 BeyondCMP 云管理平台 5.6 版本发布正式发布.为了满足不同行业客户对云管理平台的多样化需求,在资源纳管.资源运维.平台综合展示.易用性友好性等方面进行了全面提升. 点击立即申请 ...
- Java语言平台的三大版本
Java语言平台有三个版本,这使软件开发人员.服务提供商和设备生产商可以针对特定的市场进行开发: 1.JavaSE(Java Standard Edition) 也称为J2SE,标准版本.用于服务器. ...
- kattle的java安装,Kettle自定义JDK版本(附Linux下安装部署步骤)
现需要在某台服务器上安装Kettle8.3,但该机器的JDK版本是JDK1.7,因此需要为Kettle单独指定 JAVA_HOME,方法如下: vi data-integration/set-pen ...
- 开源运维平台V3 正式版本发布
开源运维平台Spug 经过15个Bata版本,终于在2021年12月24日发布了v3.0.2 Release正式版本.这次由于相对2.x版本前端框架做了升级,功能也做了一些改动,所以v3版本发布后,一 ...
- 关于eclpse java项目与tomcat jdk版本不一致的解决方法
最近,在eclipse中tomcat(jdk1.7)添加项目的时候,项目添加不进去,报jdk(项目中jdk1.8)版本不一致的错误.下面是我的解决过程: 选中项目按ALT+回车 一.选择替换jdk如下 ...
最新文章
- python是c语言写的吗-python是用c写的吗
- 文档模式引起的浏览器兼容问题
- OpenCASCADE绘制测试线束:图形命令之VIS 查看器命令
- 这些道理,未必正确,一定准确
- centos 下端口开放设置
- MySQL(22)--- NULL 值处理
- 以一个通俗易懂的方式解释一下写程序为什么要声明接口和类,面向对象的编程思想,字数不多,主要通过代码理解
- CCF NOI1059 表达式求值
- Js打印object对象两种方法
- 面向对象之多态、多态性
- Flink计算pv和uv的通用方法
- 微信小程序--游戏demo
- 【Little Demo】从简单的Tab标签到Tab图片切换
- Html设置背景图模糊,CSS设置背景图片模糊内容不模糊的解决方法
- java设计模式之Facade模式
- llvm libLLVMCore源码分析 05 - Instruction Class
- 【机器学习】监督学习,非监督学习,半监督学习三者的定义区别及举例分析
- 基于JAVA的电子招投标系统的设计与实现
- Nintendo DS(NDS) 开发环境配置教程
- WGCNA(加权基因共表达网络分析)