Java 9中Modules的优点是什么?

 模块 是专为包的容器再利用,并且每个模块包含一个模块描述符 包括关于信息的模块名称模块依赖关系(它依赖于其他模块的名称)和软件包的名称它出口,可用于仅由依赖它的模块组成。

模块优势

  • 强大的封装是模块系统的主要优势之一,因为“公共”访问说明符不再对所有人都可用。通过使用模块系统,我们可以允许外部应用程序访问有限的一组软件包。

  • 它使我们的应用程序轻巧,因此可以在更多设备上运行。由于它是轻量级的,因此可以提高应用程序的性能 

  • 一种允许我们将应用程序拆分为外部 隐藏程序包的体系结构,因此易于遵循关注点分离的原则。

  • 软件包中的某些内部类,例如sun.security。*com.sun.crypto。*不再可用,因为这些软件包现在已被隐藏,从而提高了安全性


可以在名为“ module-info.java ”的文件内声明模块,该文件是模块描述符。

module com.nhooo.app{
   // Modules upon which the module "com.nhooo.app" depends on 
   requires com.nhooo.services;
   //该模块公开的软件包可以被其他模块使用 
   exports com.nhooo.app.util;
}