Java 9 中的 Project Jigsaw 是什么?
Jigsaw 项目的主要目标是引入模块化的概念,在 Java 9 中创建模块,然后将其应用于JDK。
以下是模块化(Jigsaw)的一些好处
- 强封装:模块只能访问那些可供使用的部分。除非包被显式导出到module-info.java文件中,否则包中的公共类不能是公共的。
- 明确的依赖关系:模块必须声明其通过 required 子句使用的其他模块。模块被组合在一起以创建更短的运行时,可以轻松地扩展到相对较小的计算设备。
- 可靠性:消除运行时错误后,应用程序变得更加可靠。例如,我们必须注意我们的应用程序在运行时由于缺少类而导致ClassNotFoundException而失败。
以下是作为Jigsaw项目一部分的各种JEP(JDK增强提案)
JEP 200 – 模块化 JDK:它利用 Java 平台模块系统 (JPMS) 将 JDK 模块化成一组模块,这些模块在构建时、编译时或运行时组合在一起。
JEP 201 – 模块化源代码:它将 JDK 的源代码模块化,并升级构建工具以编译模块。
JEP 220 – 模块化运行时映像:它有助于重构 JRE 和 JDK 运行时映像以适应模块,从而提高安全性、性能和可维护性。
JEP 260 – 封装大多数内部 API:它允许通过反射直接访问大多数内部 API。访问可能发生变化的内部 API 风险很大。为了防止使用此功能,将其压缩到模块中,并且只有那些内部 API 可供使用。
JEP 261 – 模块系统:它负责通过更改 JVM、Java 编程语言和其他标准 API 来实现模块系统 Java 规范。
JEP 282 - Jlink,Java 链接器:它允许将模块及其依赖项打包到更小的运行时中。
广告