Java9模块系统

Java 9是一种称为模块的新型编程组件。模块是一个自我描述的代码和数据集合,并有一个名称来标识它。

模块系统特征

使用模块组件,Java 9中增加了以下增强功能 -

  • 引入了一个新的可选阶段,即链接时间。这个阶段介于编译时间和运行时间之间。 在此阶段,可以组合和优化一组模块,使用jlink工具制作自定义运行时映像。
  • javac,jlink和java有额外的选项来指定模块路径,它们进一步定位模块的定义。
  • JAR格式更新为模块化JAR,其中包含根目录中的module-info.class文件。
  • 引入了JMOD格式,这是一种打包格式(类似于JAR),可以包含本机代码和配置文件。

创建模块

按照下面步骤来创建一个模块:com.zyiz.greetings

第1步
创建一个文件夹F:\worksp\java9\src。 在这个目录下,创建一个与创建的模块名称相同的文件夹com.zyiz.greetings

第2步
使用以下代码在F:\worksp\java9\src\com.zyiz.greetings文件夹中创建一个文件:module-info.java,添加以下内容 -

module com.zyiz.greetings { }

module-info.java是用来创建模块的文件。 在这一步中,我们创建了一个名为com.zyiz.greetings的模块。 按照惯例,这个文件应该存储在名称与模块名称相同的文件夹中。

第3步

在模块中添加源代码。在F:\worksp\java9\src\com.zyiz.greetings\com\zyiz\greetings文件夹中创建一个Java文件:Java9Tester.java,其代码如下 -

package com.zyiz.greetings;

public class Java9Tester {
   public static void main(String[] args) {
      System.out.println("Hello World!");
   }
}

按照惯例,模块的源代码位于与模块名称相同的目录中。

第4步
创建一个文件夹F:\worksp\java9\mods。 现在创建一个与创建的模块名称相同的文件夹F:\worksp\java9\mods\com.zyiz.greetings。 现在编译模块到mods目录。如下所示 -

F:\worksp\java9> javac -d mods/com.zyiz.greetings src/com.zyiz.greetings/module-info.java src/com.zyiz.greetings/com/zyiz/greetings/JavaTester.java

第5步
运行模块来查看结果,执行以下命令。

F:\worksp\java9>java --module-path mods -m com.zyiz.greetings/com.zyiz.greetings.JavaTester
Hello World!

这里module-pathmods作为模块位置提供,而-m则表示主模块。

完整的过程如下图所示 -


上一篇:Java9 Optional类

下一篇:Java9 Repl(JShell)

关注微信小程序
程序员编程王-随时随地学编程

扫描二维码
程序员编程王

扫一扫关注最新编程教程