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 链接器:它允许将模块及其依赖项打包到更小的运行时中。

更新于: 2020年3月4日

778 次浏览

开启你的职业生涯

通过完成课程获得认证

立即开始
广告