Java Platform Module System(JPMS),也被称为Project Jigsaw,是在Java 9中引入的一项重大变革。JPMS的开发目标主要包括:
-
JDK的模块化:JPMS将Java开发工具包(JDK)本身进行了模块化处理。JDK被分解成更小的模块,这使得开发者只需使用JDK中他们应用所需的部分。这有助于减少运行时环境的大小,特别适用于小型设备和云原生应用。
-
内部API的封装:在JPMS之前,JDK的内部API(如
sun.misc.Unsafe
)对所有开发者都是可见的。JPMS通过封装这些内部API,提高了JDK的安全性和可维护性,防止了它们被不恰当地使用。 -
更好的依赖管理:JPMS允许开发者在模块级别上明确声明依赖关系。这种显式的模块依赖声明使得应用的依赖更加清晰,有助于解决类路径(classpath)混乱的问题。
-
应用的模块化:JPMS鼓励开发者将自己的应用程序分解为模块。这种模块化方法提高了代码的组织性、可读性和可维护性,也有助于实现更好的代码重用。
-
运行时优化:JPMS可以帮助Java虚拟机(JVM)在运行时进行更有效的优化,因为JVM可以更清楚地了解哪些模块被加载以及它们之间的依赖关系。
-
改善的安全性和性能:由于更严格的封装和模块化,JPMS提高了Java应用程序的安全性和性能。
JPMS在Java 9中的引入代表了Java生态系统向更模块化、更有组织的方向迈出的重要一步。它的出现改变了Java程序的结构和开发方式,为开发更高效、更可维护的Java应用提供了新的可能性。然而,它也引入了一些新的学习和适应挑战,特别是对于那些习惯了传统Java开发方式的开发者来说。