写点什么

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

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

关注

评论

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

VS Code 如何设置大小写转换快捷键

AlwaysBeta

vscode

学习总结 2021.12.30

mj4ever

学习笔记

引领人工智能技术自立自强 百度吴甜获评“首都最美巾帼奋斗者”

百度大脑

人工智能「

瞰见 | 开源,会不会变成开源创业的焦油坑?

OpenTEKr

狄安瞰源

阿里巴巴超大规模 Kubernetes 基础设施运维体系揭秘

阿里巴巴云原生

阿里云 Serverless Kubernetes 云原生 ASI

详细架构设计文档

Anlumina

#架构实战营

Golang中文件的基本操作

liuzhen007

Go 28天写作 Go 语言 12月日更

ALC北京发起人 姜宁:通过开放与协作,我们可以实现一个人想都不敢想的事情 I OpenTEKr 大话开源 Vol.6

OpenTEKr

大话开源

阿里云王志坤:强劲可靠、无处不在的云,为创新保驾护航

阿里云弹性计算

弹性计算 年度峰会

架构实战营 - 模块 3 - 作业

Pyel

「架构实战营」

架构实战营4期-模块3作业

木几丶

「架构实战营」

百度智能云发布零碳园区解决方案,助力实现双碳目标

百度大脑

人工智能

架构实战 模块三作业

mj4ever

架构实战

一个cpp协程库的前世今生(一)缘起

SkyFire

协程 cpp cocpp

Git基础 |打tag

xcbeyond

git 28天写作 tag 12月日更

第三周学习总结

糖糖学编程

架构实战营

一口气搞懂【Linux内存管理】,就靠这60张图、59个问题了

奔着腾讯去

内存泄露 内存管理 Linux Kenel 内存映射 内存池

架构实战营模块三作业

lchx08

「架构实战营」

费用节省 50%,函数计算 FC 助力分众传媒降本增效

阿里巴巴云原生

阿里云 云原生 合作 函数计算FC 分众传媒

【架构实战营】模块三:知识点总结

wgl

「架构实战营」

外包学生管理系统详细设计文档

糖糖学编程

架构实战营

Hoo研究院币 | 币海寻珠——加密行业即将到来的发售事件

区块链前沿News

加密货币 虎符 虎符交易所

架构实战营:模块三作业

Geek_93ffb0

「架构实战营」

【架构实战营】模块三:命题作业

wgl

「架构实战营」

从人工到智能!百度AI开发者大会分论坛,探寻国球乒乓背后的AI之路

百度大脑

人工智能

百度飞桨EasyDL桌面版正式上线,没网也能训练AI!

百度大脑

人工智能

Java 数据持久化系列之池化技术

程序员历小冰

MySQL 持久化 28天写作 池化技术 12月日更

最近火热的web3到底是什么?

石云升

区块链 28天写作 12月日更 web3

有趣的灵魂万里挑一:从智能座舱看汽车进化史

脑极体

元宇宙很好,但VR开发者不准备停留在这里

白洞计划

深入理解一下Python中的面向对象编程

宇宙之一粟

Python 面向对象 12月日更

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