Java领域肯定正在发生变化。 在今天的发行版之后,每年将有两个Java功能发行版 (因此,无需等待几年就可以发布下一个版本),并且Java EE正在迁移到Eclipse Foundation (并更改其名称)。 不过,让我们享受Java SE 9和Java EE 8的发布。
您可以下载Java SE 9 在这里和Java EE 8 在这里 。 这是官方公告。
Java SE 9
Java SE 9提供了150多种新功能,包括新的模块系统和相当多的改进,这些改进有望带来更高的安全性,更多的可伸缩性和更好的性能管理。
该发行版的明星当然是Java平台模块系统,也称为Project Jigsaw。 其目标是帮助开发人员可靠地组装和维护复杂的应用程序。 此外,开发人员只能捆绑在部署到云时运行应用程序所需的JDK部分,因此可以说模块系统也使JDK本身更加灵活。
如果您想听听专家对Java平台模块系统的看法,请参考以下两个语句:
Java平台模块系统(JPMS)并不完美,但是已经达到了值得发布的地步。 大多数开发人员可以继续使用类路径,并且不受模块更改的影响。
斯蒂芬·科尔本
从长远来看,这对Java Runtime Environment以及Java生态系统都有很大的促进作用。 想象一下,能够以模块化格式构建应用程序及其运行时环境。 然后,您的客户可以立即部署它,而不必担心JDK版本或占用空间。
莫妮卡·贝克维斯(Monica Beckwith)
如果您不想立即进入模块化生态系统,则应该知道可以在不使用模块的情况下开始使用JDK 9。 正如Oracle公司Java平台事业部开发副总裁Georges Saab在几个月前告诉我们的那样 ,“类路径仍在起作用,这就是许多开发人员可能会开始使用JDK 9的原因。”
还请参见: Java 9模块– JPMS基础
过渡到6个月的发布节奏
Oracle公司最近宣布,他们计划使用时间驱动的发布模型将其发布周期改为6个月。 OracleJava平台小组的首席架构师Mark Reinhold 提议 Java SE平台和JDK从“历史特征驱动的发行模型转变为严格的,基于时间的模型,每六个月发布一个新的特征,每季度发布一次更新,每三年发布一次长期支持。”
另请参见JDK 9:粗心大意的陷阱
后期– Java 9计划
- 功能版本可以包含任何类型的功能,不仅包括新的和改进的API,还包括语言和JVM功能。 新功能只有在即将完成时才会合并,因此当前正在开发的发行版始终都具有完整的功能。 从2018年3月开始,功能发布将在每年的3月和9月发布。
- 更新版本将严格限于安全问题,回归和较新功能中的错误的修复。 每个功能版本将在下一个功能版本之前收到两个更新。 与今天一样,更新版本将在1月,4月,7月和10月每季度发布一次。
- 从2018年9月开始每三年,此功能版本将是一个长期支持版本。 更新将至少持续三年,甚至可能更长,具体取决于您的供应商。
Oracle也将根据通用公共许可证(GPL)提供OpenJDK构建 。 此外,他们将继续为Oracle JDK中的OpenJDK [* cough * Java Flight Recorder * cough *]提供以前的商业功能,以使Oracle JDK和OpenJDK更加一致。
我们与Oracle Java SE产品管理高级总监Donald Smith讨论了OpenJDK和Oracle JDK二进制文件之间的转换。 在这里阅读整个采访。
我们的意图是OpenJDK和Oracle JDK二进制文件之间的转换应该是无缝的,这意味着应该完全没有功能差异。 尽管提供我们想要包括的项目列表会很令人兴奋,但我们希望通过正常的OpenJDK流程来做到这一点,首先要与其他潜在的贡献者进行讨论。
唐纳德·史密斯
如果您想与Donald Smith见面并了解有关Java SE当前状态的更多信息,请不要错过他在JAX London上的主题演讲 。 Donald将快速概述OpenJDK如何在Java SE生态系统中发挥关键作用,然后详细介绍拟议的计划及其当前状态。主题演讲后将有一个小组讨论,这是两个关键提案–节奏和Oracle的产生OpenJDK构建–将针对专业人士和潜在陷阱进行讨论。 嘉宾包括丹尼尔·布莱恩特,斯蒂芬·科尔本和彼得·劳瑞。
Java EE 8
Java EE 8之所以特别发行的原因之一与它的未来有关-从现在开始,它将在Eclipse Foundation的领导下发挥作用。 Oracle,Eclipse和其他社区成员目前正在研究Eclipse社区中技术转让以及正在进行的治理和流程背后的细节。
Oracle产品管理副总裁迈克·莱曼(Mike Lehmann)表示:“通过向Eclipse Foundation开放Java EE技术的采购,我们为将来的持续成功做好了准备。 Oracle致力于与Java EE社区和Eclipse Foundation合作,以继续企业Java的创新,支持和发展。”
还请参见: Java EE将开始新的旅程:它在哪里领先?
Oracle打算:
- 将Oracle领导的Java EE技术和相关的GlassFish技术许可给基金会。 这将包括RI,TCK和相关的项目文档。
- 演示使用基础资源构建兼容实现的能力,该实现可以通过现有的Java EE 8 TCK。
- 在基础内为平台定义品牌战略,包括要确定的Java EE的新名称。 Oracle打算为现有JSR启用现有javax软件包名称和组件规范名称的使用,以提供连续性。
- 定义一个过程,通过该过程可以发展现有的规范,并且可以在平台中包括新的规范。
- 招募开发人员,其他社区成员以及供应商,并使之能够赞助平台技术,并将平台推向基础。 这可能包括将Eclipse MicroProfile技术整合到平台中的可能性。
- Java EE 8完成后,请尽快开始执行上述操作,以促进快速过渡。
Java EE 8中的一些关键功能包括:Servlet 4.0中的HTTP / 2支持,新的JSON绑定API和JSON-P 1.1中的各种增强功能,JAX-RS的扩展以支持服务器发送事件和新的React式客户端API,针对基于云和PaaS的应用程序的新安全API,以及多项CDI增强功能,包括对异步事件的支持。
有关Java EE 8中包含的功能的完整列表,请访问此页面 。
如果您想了解有关Java EE未来的更多信息,请不要错过与Ivar Grimstad,Martijn Verburg,Reza Rahman和Josh Juneau的访谈系列 。