Java 9 进入第一轮问题修复阶段

  • Abraham Marín Pérez
  • 尚剑

2017 年 2 月 5 日

话题:JavaJVMDevOps语言 & 开发架构

Java 9功能特性正式完成,这意味着第一个问题修复阶段已经开始。HTTP/2 客户端没有在截止日期前完成,现已降级为孵化器功能。由于现在的目标是在 7 月准备好可发布的 Java 9,所以目前不太可能添加任何新的 JEP。

InfoQ 此前的报道中提到,第一轮问题修复阶段,或者说“启动 Rampdown”阶段的目的是解决 P1 至 P3 级别的问题。其中,根据 Java 平台的首席架构师Mark Reinhold 提出的流程,问题修复应该优先考虑 Java 9 中的新问题,而不是影响 Java 9 但已经存在于 Java 8 或更早版本 Java 中的问题,之所以这么做,可能是因为相对于新的问题,公众更容易忍受已经存在的问题。Reinhold 提供的缺陷列表显式地过滤掉了只与文档、演示和测试相关的缺陷,这似乎表明了他们对用户体验的关注。在撰写本文时,该列表中有 194 个缺陷。

这一阶段还包括一个规定,如果有正当理由,可以留下一些未解决的 P1 至 P2 级别的问题。希望推迟其解决方案的问题所有者必须在错误报告中指出其请求的原因(复杂性、风险、时间不足等),然后相关区域负责人、小组负责人和 JDK 9 Project 负责人将分析这些数据并同意或拒绝延期。在写这篇文章的时候,这个列表中暂时还没有推迟请求,但以后可能会出现。

这个 Rampdown 阶段在特定的扩展功能完成阶段之后进行,以给予一些 JEP 完成的时间。HTTP/2 客户端以及增强弃用、jlink、和新的 HotSpot 编译系统都是在2016 年 7 月出现风险的功能。其中,HTTP/2 Client 是唯一一个没有最终做出来的功能,转而成为孵化器功能。这意味着,尽管 HTTP/2 Client 将包含在 Java 9 中,但默认情况下不可访问:该功能将被打包在前缀为jdk.incubator.的模块下,开发人员必须显式地使用--add-mod标记才能访问该功能。然而,如果开发人员选择这样做,他们将需要考虑到孵化器功能不是标准 API 的一部分,因此该功能可能随时被修改。

阅读英文原文Java 9 Enters First Bug Fixing Round

感谢薛命灯对本文的审校。

JavaJVMDevOps语言 & 开发架构