Java 中的孵化器模块与预览功能

Gio*_*uri 12 java jls jep

JEP 11:孵化器模块

概括

孵化器模块是将非最终 API 和非最终工具交到开发人员手中的一种方法,而 API/工具则在未来版本中朝着最终确定或删除的方向发展。

目标

使 JDK 发布项目能够分发一组有限的 API 和工具(网站上可能缺少“是”),这些 API 和工具不是最终的和完整的,并且可以从开发人员或用户的反馈中受益。这将减少 Java SE 平台和 JDK 中出现代价高昂的错误的机会。


JEP 12:预览功能

概括

预览功能是 Java 语言、Java 虚拟机或 Java SE API 的一项新功能,它是完全指定、完全实现的,但不是永久的。它在 JDK 功能版本中可用,以激发开发人员根据实际使用情况提供反馈;这可能会导致它在未来的 Java SE 平台中永久存在。

目标

允许 Java 平台开发人员传达新功能是否会在未来 12 个月内以其当前形式“来到 Java”。


我想知道分别拥有这两个在概念上(甚至在语义上)非常相似的方面有什么意义?

是的,JEP 12 有更多的目标,定义和总结略有不同;而且它似乎与 JVM 内部有更密切的联系;然而,这两个 JEP 对我来说似乎很重叠。

有任何想法吗?

Ste*_*enV 3

来自斯图尔特·马克斯的回答:

孵化适用于模块,预览功能与语言和库的关系更加紧密。

布莱恩·戈茨接着说道:

预览功能确实已经完成,但正在等待一轮反馈,而孵化器机制有更多的空间来多次迭代 api 以获得反馈。

来源: 来自 Devoxx 的视频,其中 Java 架构师回答了这个问题: