模块化程序开发指的是将一个大程序按照功能划分为若干小程序模块,每个小程序模块完成一个确定的功能,并在这些模块之间建立必要的联系,通过模块的互相协作完成整个功能的程序设计方法。

模块化不是不是什么新的技术,在汇编语言、C语言中就已经提出了相关的概念和实现方式。模块化的目的是为了降低程序复杂度,使程序设计、调试和维护等操作简单化。

Java语言本身就支持模块化开发,而Orcale公司在Java9开始的版本融入了的模块化系统,对模块化开发进一步进行加强。与包相比,模块中可以包含一个或更多的包,具有比包更强的封装性,可实现更细化的访问控制和更大粒度的代码重用,真正实现功能模块化配置灵活的搭积木式的程序开发。

Java新增的模块化系统有几个目的:

(1)让Java的SE程序更加容易轻量级部署。

(2)改进组件间的依赖管理,引入比Jar粒度更大的Module。

(3)改进性能和安全性。

(4)解决Classpath地狱问题,改进部署能力。

下面通过案例讲解Java 模块化的实现方式。

1、在java文件夹下面创建module-info.java,并添加两个maven。module项目。分别为one和two


JAVA 模板元编程 java模块化编程的理解_JAVA 模板元编程


module one { }module two { }

2、设置modulej级别为9


JAVA 模板元编程 java模块化编程的理解_info java module_02


3、one中创建两个包和方法


JAVA 模板元编程 java模块化编程的理解_Java_03


package com.hq.java9.can;public static class UtilCan { public void can(){ System.out.println("can"); }}package com.hq.java9.cannot; public static class UtilCanNot {  public void canNot(){ System.out.println("canNot"); }}

4、one中module-info.java增加下面代码

module one {//导出可用包 exports com.hq.java9.can;}

5、two中进行引入,如果发现为红报错。则将one引入。

module two { requires one;}

6、two中可以正常使用

package com.hq.java9.use;import com.hq.java9.can.UtilCan;//import com.hq.java9.cannot.UtilCanNot; //导入了,但是报错public class Use { public static void main(String[] args) { UtilCan.can();// UtilCanNot.canNot(); 可以导入,但是编译不成功 }}

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习Java的模块化知识有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家的支持。