写点什么

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

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

关注

评论

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

「质量三人行之不止测试」直播问题解答

BY林子

软件测试 职业发展 质量赋能 测试转型 质量内建

密码基础设施提供商三未信安加入龙蜥社区

OpenAnolis小助手

合作伙伴 龙蜥社区 CLA 三未信安 密码基础设施

深度剖析OpenHarmony应用/服务的逻辑结构

Anna

OpenHarmony

13 高可用的服务

爱好编程进阶

Java 程序员 后端开发

浅谈C#字符串构建利器StringBuilder

yi念之间

C# StringBuilder

Redis主从复制集群及数据异常丢失恢复思路

jiangxl

redis'

浅谈C#可变参数params

yi念之间

C# params

金蝶云·苍穹峰会震撼来袭

金蝶云·苍穹

一文搞明白Redis中两种持久化机制RDB和AOF

jiangxl

redis'

【直播回顾】OpenHarmony知识赋能第五期第二课——成为社区达人

OpenHarmony开发者

OpenHarmony 社区贡献

2020年Java面试复盘,收获Offer,金三银四程序员面试精装版pdf,分享给跳槽面试的程序员

爱好编程进阶

Java 程序员 后端开发

浅谈云上攻防——Etcd风险剖析

腾讯安全云鼎实验室

安全攻防 网络安全

Android C++系列:函数知识知多少

轻口味

c++ android 4月月更

了解HTTP的基本历史及知识

CRMEB

web前端培训懒加载对 Web 性能的影响

@零度

前端开发 懒加载

为什么boolean存储需要32bit?

程序员猪小哼

java基础 底层原理

新冠疫情防控背后有哪些鲜为人知的技术?

DS小龙哥

4月月更

OpenHarmony应用开发之全局配置参数解析

Anna

OpenHarmony

OpenHarmony技术日探讨教育发展,聚焦开源人才培养

OpenHarmony开发者

OpenHarmony

谈谈对 Database Plus 认识与畅想

SphereEx

Apache 数据库 SphereEx ShaardingSphere

关于「应变力」这个超能力|ONES 人物

万事ONES

管理

怎么写帮助文档?产品人看过来

小炮

帮助中心

美好教育,无处不在 | 拓维信息携手开鸿智谷重磅发布教育在鸿OS发行版

拓维信息

操作系统 OpenHarmony OpenHarmony 3.1 Release

OpenHarmony 设备开发环境搭建 / 源码获取 / 编译 / 烧录

Anna

OpenHarmony

OpenHarmony啃论文计划-elf文件格式介绍

Anna

OpenHarmony

java培训Stream遍历树形结构案例分享

@零度

stream JAVA开发

编码的底层原理

程序员猪小哼

java面试 底层原理 死磕 Java 基础

大数据培训Hive架构思想与设计原理

@零度

hive 大数据开发

我推荐的Flutter项目结构

坚果

4月月更

架构实战营作业四

热猫

《SQL必知必会》读书笔记

懒时小窝

数据库 sql

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