写点什么

Java 将每半年发布一个版本

  • 2017-09-10
  • 本文字数:1366 字

    阅读完需:约 4 分钟

Oracle 近日宣布,他们将 Java 的发布频率改为每六个月一次。

JCP 执行委员会在八月份的会议上提到了这一说法,随后,Oracle 发言人Donald Smith 在他的博客中确认了这一消息。该决定将在Java 9 正式发布之后开始实行,也就是说,Java 的下一个发布日期是2018 年初。

除了发布周期,Oracle 还宣布了在Java 的构建和发布方式方面所发生的主要变化。Oracle 将把OpenJDK 的二进制包作为面向开发者的主要版本,取代之前的Oracle JDK。

OpenJDK 将采用 GPLv2 许可(包括“类路径例外”)免费发行,移除了之前在 Oracle JDK 上存在的一些限制。Oracle JDK 仍然会继续存在,但需要与 Oracle 签订协议才能获得 Oracle 提供的长期支持。

Java 首席架构师 Mark Reinhold 说,为了避免出现像Java 8 和Java 9 那样的延期情况,所有决定实行新的发布周期。

Java 当前的发布周期为两年一次,Java 9 因为模块化系统(Jigsaw)问题一再延期,已经比预期晚了 18 个月。之前,Java 8 也因为安全问题延期了 8 个月左右。Java 9 的 GA 版本将在 9 月 21 号发布。

新的发布周期严格遵循时间点,将在每年的 3 月份和 9 月份发布,相应的版本号为 18.3、18.9、19.3 等。与现在的发布周期不同,新的发布计划不会为了等待某个主要特性完成而延期。如果一个特性还没有完成,它就不会被合并到发布用的代码仓库里。如果错过了一个版本,就要等待下一次发布。

新的发布周期旨在避免未完成的里程碑特性(比如 Java 8 的 Lambda 或 Java 9 的模块化系统)造成发布延期,让其他一些有用的特性也无法与开发者见面。

除了新的发布周期,Oracle 将会继续每个季度发布更新版本,时间分别为 1 月份、4 月份、7 月份和 10 月份。也就是说,在下一个大版本发布之前,当前版本都会有两个更新版本。更新版本只包含安全问题修复或回归错误的修复。

Reinhold 说:

开发者希望加快速度,这样他们就能够尽快地在生产环境中使用新的特性。

对于没有必要快速升级 Java 版本的企业和组织来说,Oracle 建议他们签订每三年一次的长期支持(Long Term Support,LTS)协议。他们因此可以获得由 Oracle 提供的至少三年的支持,还有可能更长时间,这要取决于市场的反应。

Oracle 建议第一个 LTS 版本为“18.9”,不过这需要与其他的 OpenJDK 贡献者讨论过后才能最终确定。Java 8 被作为一个特别的 LTS 版本,支持日期截止到 2025 年。

Smith 说:

OpenJDK 是开发者了解和使用 Java SE 平台最主要的渠道,而 Oracle JDK 继续作为 Oracle 收费用户的 LTS 版本。

伦敦 Java 社区的负责人 Martijn Verburg 也发表了他对新发布周期的看法:

新的 Java 发布周期对于 Java 生态系统来说是一件好事情。Java 9 的 Jigsaw 和孵化模块问题促成了这一局面的发生。

Oracle 确实面临着发布方面的巨大挑战,不过 OpenJDK 社区拥有足够的知识来帮助一起解决挑战。

我希望看到中间会有所突破,不过对常规的发布周期仍然很期待。其他实现者可以更早地访问到规范的草案,这样他们就可以更早、更经常地发布版本。

Oracle 的 Java 发布速度经常受到诟病,Java 被广大的企业组织所采用,并已成为大量开源平台和语言的基础,而这样的发布速度让 Java 处于很尴尬的境地。新的 Java 发布周期恰好满足了广大用户的期望,不过这仍然需要等待 Java 开发者和 Oracle 用户的反馈。

查看英文原文: Java to Move to 6-Monthly Release Cadence

2017-09-10 19:0014746
用户头像

发布了 322 篇内容, 共 144.6 次阅读, 收获喜欢 148 次。

关注

评论

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

云主机配置微信公众号后台全记录

小jack

这道 Hard 到底难在哪里?大概是难在考察的全是违反“人性直觉”的内容吧 ...

宫水三叶的刷题日记

面试 LeetCode 数据结构与算法

简单脚本监控SSL证书,并到期提醒续签

运维研习社

正月十五吃汤圆CountDownLatch

叫练

AQS join 共享锁 CountDownLatch 多线程高并发

Java中的String类型到底占用多大的内存空间?

冰河

Java 性能优化 string 高并发 内存空间

第五周作业:用例流程图

克比

Elasticsearch 相关度评分

escray

elastic 七日更 28天写作 死磕Elasticsearch 60天通过Elastic认证考试 2月春节不断更

产品经理第五周:如何绘制流程图?

克比

分页问题-Offset-based Pagination和Cursor-based Pagination

诸葛小猿

分页 Offset-based Pagination Cursor-based Pagination

收音机焊接

aaaaa

341 万考生,除了图书馆他们去了这样一个地方

IoT云工坊

小程序 人工智能 物联网 云平台 24小时无人自习室

无人机蜂群

冠冠

28天瞎写的第二百四十五天:怎么样开始练习冥想?

树上

冥想 28天写作 正念

攀爬天梯的手机厂商,能从LG的滑落中学到什么?

脑极体

【LeetCode】猜字谜Java题解

Albert

算法 LeetCode 28天写作 2月春节不断更

区块链能否一劳永逸地结束痛苦的选票争端?

CECBC

区块链

区块链与数字货币的发展到底有什么意义

CECBC

金融

Docker安装

Sakura

Docker

产品迭代最有力的工具:每周产品讨论会

boshi

产品策略 七日更

我看JAVA 之 AbstractStringBuilder & StringBuffer & StringBuilder

awen

Java 源码 jdk string

微信公众平台-渠道二维码开发

Geek_247dae

翻译:《实用的 Python 编程》02_07_Objects

codists

Python

区块链打造“红娘链”,婚姻上链让爱更“牢固”

CECBC

婚姻

医者,智也:智慧医院破茧时,翻开转型新一页

脑极体

开源镜像仓库Harbor的镜像安全

运维研习社

Docker 安全 Harbor CI/CD

元宵佳节快乐哦

Nydia

【得物技术】Web Components 初探

得物技术

Web API 得物技术 Web Component 组件

未来赚钱的行业大预测

ES_her0

28天写作

分布式应用监控与链路追踪:SkyWalking

xcbeyond

微服务 监控 Skywalking 调用链 28天写作

Kafka 中所谓的 ‘零拷贝’ 技术到底是什么?

李尚智

Java kafka 程序员 架构 微服务

Nginx中常见header配置及修改

运维研习社

nginx Linux

Java将每半年发布一个版本_Java_Ben Evans_InfoQ精选文章