java9 模块化系统

为什么要引入java模块化系统

  1. Java 运行环境的膨胀和臃肿。 每次 JVM 启动的时候,至少会有 30 60MB 的内存加载,主要原因是 JVM 需要加载 rt.jar ,不管其中的类是否被 classloader 加载,第 一步整个 jar 都会被 JVM 加载到内存当中去(而模块化可以根据模块的需要加载程序运行需要的 class )。

  2. 当代码库越来越大,创建复杂,这些都阻碍了 Java 开发和运行效率的提升。

  3. 很难真正地对代码进行封装 , 而系统并没有对不同部分(也就是 JAR 文件)之间的依赖关系有个明确的概念。 每一个公共类都可以被类路径之下任何其它的公共类所访问到,这样就会导致无意中使用了并不想被公开访问的 API

  4. 本质上讲 也就是说,用模块来管理各个 package ,通过声明某个 package暴露,模块 (module) 的概念,其实就是 package 外再裹一层,不声明默认就是隐藏。因此,模块化使得代码组织上 更安全 ,因为它可以 指定哪些部分可以暴露,哪些部分隐藏。

模块化系统实现的目标

  1. 模块化的主要目的在于减少内存的开销;

  2. 只须必要模块,而非全部 jdk 模块,可简化各种类库和大型应用的开发和维护;

  3. 改进 Java SE 平台,使其可以适应不同大小的计算设备

  4. 改进其安全性,可维护性,提高性能

模块化系统实现案例

  • 首先,电脑是已经安装好jdk9或以上版本。
  • 在工程目录下创建模块,这里以创建两个模块为例

       

  • 修改模块配置信息

       

       

扫描二维码关注公众号,回复: 8787372 查看本文章
  • 在每一个模块的顶级文件目录下创建module-info.java文件(这里实在java文件目录下,具体看情况)

       

       

  • 创建测试文件

可以看到,现在的测试类是报错的

  • 配置module-info.java文件

       

  • 测试

       如果me哦什么问题的话,打印如下

       

     如果出现如下错误

      

      查看下列文件并修改

        

发布了44 篇原创文章 · 获赞 17 · 访问量 2461

猜你喜欢

转载自blog.csdn.net/weixin_40391011/article/details/104057515