Java毫无疑问是最受欢迎的编程语言之一。然而,即使是最忠实的用户,也对等待新版本的更新厌烦了,毕竟Java9一拖再拖。
近期,Oracle建议将JavaSE的发布时间提高至每半年一次,Oracle的Java平台组首席架构师MarkReinhold提出,JavaSE平台和JDK将从历史功能驱动的发行版模式转变为严格的基于时间的模式,每六个月增加一个新功能,每季度更新一次,每三年发布一次长期支持。
回想起来,两年的发布节奏太慢了,我们必须以更快的速度发布功能,但我们仍然以高水平的质量提供每个版本,保护Java的兼容性,可靠性和周到的演变以及长期价值。
之后的Java发布计划
这些每半年发布一次的特色版本将包含任何类型的功能,不仅包括新的和改进的API,还包括语言和JVM功能。新功能只有在几乎完成时才会合并,所以目前正在开发的版本始终是功能齐全的,这一决定将于年3月起生效,之后每年3月和9月都将发布一次更新。
更新版本将严格限制新功能中的安全问题,回归和错误修复。每个功能版本将在下一个功能发布之前收到更新。从年9月开始,每三年的功能发布将是长期支持版本。根据供应商,更新将至少提供三年,甚至可能更长。
新模式与旧模式有什么区别?根据MarkReinhold的说法,区别在于“提供创新的机会将会更多。六个月更新一次的功能版本将比过去多年更新一次的功能版本小,因此更容易采用。六个月的功能版本也将减少向旧版本压缩新功能的压力,因为下一个功能版本将不会超过六个月。
他补充说,功能版本的版本字符串将是YEAR.MONTH的形式。比如,年3月份的发行版为18.3,9月份的长期支持版本将为18.9。如果这一建议被采纳,将会对OpenJDK社区的贡献者带来重大改变。依赖Java的开发人员、用户和企业将受到巨大影响,但此提案旨在帮助Java在未来几年保持竞争力。
JAXenter:由于OpenJDK二进制文件成为开发人员访问JavaSE平台最新创新的主要渠道,OracleJDK将继续为Oracle商业和支持客户提供长期支持(LTS)。你是如何得出这个结论的?
DonaldSmith:加快JavaSE的发布节奏,可以更快地引入新语言、库和VM更改,而不会中断那些希望采取保守更新方式的企业。我们提出的建议是平衡并且使用许多开源平台项目很受欢迎的“LTS”模式。
JAXenter:为什么现在比以往更新更快变得很重要?功能版本如何工作,如何确保质量不会下降?
DonaldSmith:应用程序开发市场已经转移。规范是为平台提供基于时间的发布模型。作为一个生态系统,我们需要将这些半年期发行的意义简单地转换为“特征发布”,而不是“主要”发布。
JAXenter:有些人抱怨Java9由于Jigsaw项目而被推迟。这个提案是否与延迟发布有关?Oracle在Java8之后的三年半时间内间接承认他们“发错了”吗?
DonaldSmith:自从1.4以来,Java“主要”版本的发展已经过去了三年多,所以JavaSE9并不是异常的。应用程序开发市场在过去几年已经转移,使开发人员更容易构建,测试和部署应用程序。持续集成和持续部署工具可以更轻松地将新功能引入生产。Jigsaw将有助于这种集成化。