QCon 演讲火热征集中,快来分享技术实践与洞见! 了解详情
写点什么

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

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

关注

评论

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

ansible 模块:debug

ghostwritten

ansible

druid源码学习二-对锁的理解

Nick

java 并发 lock锁

网站开发进阶(五十五)CSS padding、margin 属性

No Silver Bullet

5月月更 padding magin

网站开发进阶(五十玖)css实现背景透明,文字不透明

No Silver Bullet

CSS 5月月更

浅述容器和容器镜像的区别

汪子熙

Docker 容器 容器镜像 虚拟化技术 5月月更

为什么前端不能没有监控系统?

杨成功

大前端 构架 5月月更

企业实践|分布式系统可观测性之应用业务指标监控

阿里巴巴云原生

阿里云 云原生 可观测

编码压缩介绍

Loken

音视频 5月月更

金钱无法给你安全感,能力才行,你同意吗?

叶小鍵

“可严可仁”的考勤系统,让数字化不漏掉人性化

明道云

程序员转型产品经理:懂技术或许是把双刃剑!

博文视点Broadview

WorkPlus统一门户:企业信息互通,实现业务协作

BeeWorks

「微博评论」高性能高可用计算架构设计

dan629xy

C语言-strlen和sizeof强化习题练习- I

芒果酱

c++ C语言 5月月更

教你用 ECharts 轻松做一个Flappy Bird小游戏

华为云开发者联盟

图表 eCharts 图表库 Flappy Bird 小游戏

SaaS到底是什么?如何做?

小炮

SaaS

智能运维应用之道,告别企业数字化转型危机

云智慧AIOps社区

大数据 监控 数字化转型 智能运维 自动化运维

解构HE2E中的Kubernetes技术应用

华为云开发者联盟

Docker Kubernetes DevOps HE2E CCE部署

招商蛇口重塑客户经营新思路,推动多业态融合升级

科技热闻

ansible 模块:cron

ghostwritten

ansible

WordPress 主题和插件

海拥(haiyong.site)

WordPress 5月月更

快慢缓急总相宜|ONES 人物

万事ONES

Java遇上SPL:架构优势和开发效率,一个不放过

华为云开发者联盟

Java stream 应用架构 SPL 结构化数据处理

ansible 模块:become

ghostwritten

ansible

C语言_字符串与指针的练习

DS小龙哥

5月月更

PingCAP 宣布 TiDB Cloud 正式商用,助力全球企业在云上构建新一代云原生应用

Geek_2d6073

Druid连接池源码阅读02

石小天

goscript: 遇见yaegi所带出的思路

humboldt

Go goscript

Docker下的OpenResty三部曲之一:极速体验

程序员欣宸

Docker 5月月更 openrestry

下个十年高性能 JSON 库来了:fastjson2!

王磊

Java

uni-app技术分享| uni-app转小程序-实时消息

anyRTC开发者

小程序 uni-app 音视频 实时消息 呼叫邀请

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