Java 9 中的 Project Jigsaw 是什么?

javaobject oriented programmingprogramming更新于 2024/7/21 8:15:00

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


相关文章