写点什么

Oracle 调整 Java SE 版本编号方案

  • 2013-05-27
  • 本文字数:1189 字

    阅读完需:约 4 分钟

“为避免版本重新编号而引起的混乱”,Oracle 已经宣布 JDK 5.0、JDK 6 和 JDK 7 将采用新的编号方案。Java 子版本分为计划内 Limited Update 版本和 Critical Patch Updates(CPUs),Limited Update 版本包含非安全相关的缺陷修复和不定期的新功能增加,CPU 版本则包含安全漏洞的修复。安全版本的发布频率增加意味着计划内版本会不定期的调整编号。这给 Oracle 带来了问题——这意味着在缺陷跟踪系统中,缺陷修复和功能增强无法分派到特定的版本上。

为解决此问题,Oracle 已经决定:

  • 使用 20 的倍数作为 Limited Update 版本编号。
  • 我们想继续使用奇数来为 Critical Patch Updates 编号。编号的计算方式为:前一版本的 Limited Update 编号加 5 的倍数,如果结果为偶数,则再加 1。

下面举例说明:

JDK 7 的下一个 Limited Update 将会编号为 7u40,之后的 3 个 CPU 编号分别为 7u45、7u51 和 7u55。之后的 Limited Update 版本编号则为 7u60,CPU 编号分别为 7u65、7u71 和 7u75。

编号方案将在不同版本保留一些空间,这样我们可以加入一些版本,比如说一些必要的安全警告或支持性的版本,而无需将后续的版本重新编号。

Oracle 的 Phil Race,一位 Java 客户端团队的工程师,已经在 Sun/Oracle 工作 12 年以上,表示自己没有参与相关的讨论,但他在 OpenJDK 的邮件列表中提供了一些更详细的信息

我们习惯使用奇数作为安全更新的版本编号,其他版本使用偶数。我不确定这对外界有多重要,但是如果你要打破常规,将有可能出现两个安全更新版本连号的问题。

一些计划外版本的需求也给我们带来一些困惑。版本 7u14 已经存在,版本中缺陷已经标记为修复,reports、stats、etc 等都引用了这个版本,但因版本号的调整,现在这些引用数据都是错误的,(希望)这些工作将在 7u40 中重见天日。在此期间,不论内部还是外部人员都无法理解,为什么一个据称在 7u14 中修复的缺陷,又在 7u17 中重现了。所以,在非安全版本号之间留下充足的空间,就不用我们在工作中重新调整版本号了。

计划内安全版本号之间的空间是为计划外的版本预留的,为了以防万一。而为安全版本所保留奇数编号的习惯,将会用掉更多的编号。所以,令人高深莫测的编号跳跃问题今后将彻底终结。

比如:

7u15 是计划内的安全发布
7u17 是计划外的保留编号(个人看法)
7u19 是为突发情况而保留的,不是必要的
7u21 是计划内的安全发布

等等……

Oracle 表示,在版本编号方案的调整上需要一种更加文艺的解决方案,以适应各类变化(比如说使用 7u44-2 这种方案)。然而,这种方案无法在主版本之外使用,因为这么做有可能使现有用于解析版本字符串的代码失效(可能还包括 Java 自动更新系统),某种程度上这还会让人回想起当公司名称由 Sun Microsystems 改名为 Oracle 时发生的事情。此外,因为 Java 8 的延迟发布,Oracle 不太可能及时作出这种改变。

查看英文原文: Oracle to Change the Release Numbering for Java SE

2013-05-27 09:312317
用户头像

发布了 36 篇内容, 共 14.9 次阅读, 收获喜欢 2 次。

关注

评论

发布
暂无评论
发现更多内容

基于飞桨图学习框架的空间异配性感知图神经网络

飞桨PaddlePaddle

人工智能 百度飞桨

文心一言 VS 讯飞星火 VS chatgpt (83)-- 算法导论8.1 4题

福大大架构师每日一题

福大大架构师每日一题

软件测试 | 人工智能的引领,医疗的未来

测吧(北京)科技有限公司

测试

OpenHarmony组件复用示例

OpenHarmony开发者

OpenHarmony

软件测试/测试开发丨Selenium 高级定位 CSS

测试人

CSS Python 程序员 软件测试 selenium

JavaScript原型链污染

互联网工科生

JavaScript 前端 js

技术看点:基于多副本的IO负载均衡思考

鹏云网络

负载均衡 分布式系统 #分布式存储

Karmada 结合 coreDNS 插件实现跨集群统一域名访问

华为云开发者联盟

云原生 后端 华为云 华为云开发者联盟 企业号 8 月 PK 榜

OpenHarmony设备截屏的5种方式

OpenHarmony开发者

OpenHarmony

创新医疗:人工智能引领健康未来

测吧(北京)科技有限公司

测试

软件测试 | 人工智能的背景与发展历程

测吧(北京)科技有限公司

测试

华为云新生代开发者招募

开发者 有奖活动 华为云

直播预约丨《实时湖仓实践五讲》第一讲:企业为什么需要实时湖仓?

袋鼠云数栈

直播 实时湖仓

【收藏】制作艺术二维码,用 Stable Diffusion 就行!

阿里巴巴云原生

阿里云 云原生 Stable Diffusion Stable

性能专家深度解读:常见的压测模型

优测云服务平台

性能测试 压力测试 云平台 性能瓶颈 云平台技术

通过AOP拦截Spring Boot日志并将其存入数据库

华为云开发者联盟

数据库 开发 华为云 华为云开发者联盟 企业号 8 月 PK 榜

软件测试 | 人工智能的广泛应用领域有哪些?

测吧(北京)科技有限公司

测试

小灯塔系列-中小企业数字化转型系列研究——表单管理测评报告

向量智库

Oracle调整Java SE版本编号方案_Java_Charles Humble_InfoQ精选文章