写点什么

Java 新版本不是 JDK 1.9

  • 2014-12-05
  • 本文字数:1541 字

    阅读完需:约 5 分钟

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

2014-12-05 00:556847
用户头像

发布了 1008 篇内容, 共 397.9 次阅读, 收获喜欢 345 次。

关注

评论

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

云原生+新技术,会碰撞出怎样的火花?

墨天轮

数据库 阿里云 Serverless 云原生 华为云

一图读懂工业数据要素高水平应用

Openlab_cosmoplat

工业数据

十分钟读懂火山引擎DataLeap数据治理实践

字节跳动数据平台

大数据 数据研发 企业号 3 月 PK 榜

从5分钟到60秒,袋鼠云数栈在热重启技术上的提效探索之路

袋鼠云数栈

热重启

用友BIP接入百度文心一言 持续使能企业数智商业创新

用友BIP

电商 SaaS 全渠道实时数据中台最佳实践

Apache Flink

大数据 flink 实时计算

让AI上车,车企如何借势2023上海国际车展硬核出圈

Geek_2d6073

WorkPlus|可定制、可扩展的私有化即时通讯办公平台

BeeWorks

内存耗尽后Redis干了什么

CTO技术共享

分享一个 hive on spark 模式下使用 HikariCP 数据库连接池造成的资源泄露问题

明哥的IT随笔

大数据 hive

【附下载】艾瑞《全球互联网通信云研究报告》,融云 IM 连续 8 年展现统治力

融云 RongCloud

互联网 IM 社交 融云 元宇宙

一图读懂《2023 年全球互联网通信云行业研究报告》

融云 RongCloud

互联网 通讯 图片资源

一文解码:如何在人工智能热潮下实现产业“智”变

加入高科技仿生人

人工智能 AI 低代码 智能化

一文搞懂面试官常问的:SpringBoot自动配置原理

做梦都在改BUG

Java Spring Boot 自动装配

虚拟主机和云服务器的区别

天翼云开发者社区

用友与百度强强联合,以AI深化冶金行业数智化应用场景

用友BIP

全国首个算力互联互通验证平台发布,天翼云推动算力智能调度再提速

天翼云开发者社区

云计算之-弹性伸缩

天翼云开发者社区

从新手小白到运维大咖,SysOM 多场景宕机实例解析 | 龙蜥技术

OpenAnolis小助手

运维 操作系统 服务器 龙蜥技术 SysOM

【知识科普】晶振究竟是如何起振的?

元器件秋姐

科普 晶振 元器件 电子

GitLab 解析:为什么市场正在转向一体化 DevSecOps 平台?(附Forrester完整报告下载)

极狐GitLab

DevOps DevSecOps 安全测试 极狐GitLab 安全合规

AI for Good | 从女性力量,到AI公平

澳鹏Appen

人工智能

如何召开成功高效的项目会议?

PMO实践

项目管理 PMO

如何利用分布式算法理解分布式存储

Dinfan

数据库 分布式 分布式存储 分布式算法

共铸国云智领未来| “码”上呼唤,马上办!

天翼云开发者社区

「中华田园敏捷开发」,是老板无能还是程序员无力?

引迈信息

前端 敏捷开发 后端 低代码

企业内部即时通讯软件,提供安全的组织管理和办公协作方式

BeeWorks

DTALK直播预约 | 深度解析大资管行业数字化转型

袋鼠云数栈

数字化转型

3 问 6 步,极狐GitLab 帮助企业构建高效、安全、合规的 DevSecOps 文化

极狐GitLab

DevOps DevSecOps 安全测试 极狐GitLab 安全左移

数据资产与勒索病毒之间,华为立起一张安全盾牌

脑极体

安全

终于说有人清楚了BI仪表板和大屏的区别

搞大屏的小北

数据分析 数据可视化 数据大屏 仪表板 可视化展示

Java新版本不是JDK 1.9_Java_Bienvenido David_InfoQ精选文章