NVIDIA 初创加速计划,免费加速您的创业启动 了解详情
写点什么

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:556652
用户头像

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

关注

评论

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

让“美”势不可挡,DataPipeline助力全球知名化妆品企业数字化营销再提速

DataPipeline数见科技

大数据 中间件 数据融合 数据迁移 数据管理

【12月日更】浅谈Golang两种线程安全的map

小梁编程汇

golang 缓存 高性能 并发 多线程安全

如何优雅的关闭 Java 线程池

淡泊明志、宁静致远

线程池

热门招聘丨 XTransfer史上最全产品技术岗位公开招聘

XTransfer技术

产品 技术 招聘 XTransfer

2021年SASE融合战略路线图(一)

devpoint

SD-WAN sase 12月日更

联想企业科技集团与京东耀弘签订战略合作协议 实现合作发展新跨越

科技大数据

关于写文章的一点经验

阿里技术

技术管理 技术人生 内容合集

百度API接口智能化测试探索与实践

百度开发者中心

自动化测试 API测试 智能化测试

王者荣耀商城异地多活架构设计

张靖

#架构实战营

Flutter 应用程序中使用 GridTile 小部件

坚果

28天写作 12月日更

Python爬虫实战,pymysql模块,Python实现抓取音乐评论

Java全栈架构师

Python MySQL 数据库 程序员 面试

PMI 的野望

Franklin 许峰

DevOps 敏捷 Lean 规范敏捷 PMI

国家质量基础设施(NQI)一站式服务平台,NQI云服务平台建设

a13823115807

质量基础设施一站式服务 一站式服务平台开发

计算机网络体系结构

淡泊明志、宁静致远

TCP 网络结构

如何写好代码?

阿里技术

技术管理 技术人生 内容合集

三年磨一剑,高德体验优化总结

阿里巴巴终端技术

ios android 性能优化 移动开发 客户端

多行内容超出...显示的终极解决方案

CRMEB

安装TortoiseGit教程 手把手教学

Z.

git 工具 安装 Tortoisegit

恒源云(GPUSHARE)_文本数据扩增时,哪些单词 (不) 应该被选择?

恒源云

深度学习 语音识别 语义

百度翻译十周年:核心技术持续领先,日翻译量超千亿字符

科技热闻

揭开神秘面纱,如何组织一次分布式压测

博睿数据

第七模块总结

张靖

#架构实战营

一种播放远程TS格式媒体文件的新方案

Changing Lin

12月日更

阿里技术 技术人成长| 内容合集

阿里技术

技术管理 技术人生 技术专题合集

Flutter 高性能、多功能的全场景滚动容器原理与实践

阿里巴巴终端技术

flutter 移动开发 客户端

EMQ X 企业版 v4.4.0 发布:新增三项集成支持、增强异常诊断能力

EMQ映云科技

云原生 物联网 IoT mqtt 规则引擎

高质量的缺陷分析:让自己少写 bug

阿里技术

技术管理 技术人生 内容合集

技术人如何自我成长?

阿里技术

技术管理 技术人生 内容合集

区块链数字版权,区块链数字藏品交易系统开发

a13823115807

#区块链# 区块链技术应用 区块链数字藏品

技术三板斧:关于技术规划、管理、架构的思考

阿里技术

技术管理 技术人生 内容合集

架构实战 - 模块七

唐敏

架构实战营

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