在Java 9中使用JLink的目的是什么?

JLink功能的主要目的是创建我们自定义的JRE。通常,我们使用Oracle Corporation提供的默认JRE运行一个程序,该程序的大小为214 MB

例如,用户想要打印一个简单的“ Hello World”消息,如下所示

public class HelloWorldModuleTest {
   public static void main(String args[[]) {
      System.out.println("你好,世界!");
   }
}

要运行上述1 KB大小的程序,我们需要4至5个类,例如StringSystemObjectHelloWorldModuleTest.class文件。那么,为什么我们需要使用默认JRE加载214 MB的JRE?这是浪费内存,不适用于任何物联网设备,因为这些小型设备无法容纳数百个内存。 

我们需要在以下命令中使用JLink创建自己的定制JRE

jlink –module-path out –add-modules {add modules} –output {jre name}

JLink是一项强大的功能,已在JPMS 的帮助下实现,以减小JRE的大小。JLink带有Compress的概念,我们在执行JLink命令时指定压缩级别 。JLink还提供了一个称为Launcher 的选项,该选项使用户可以通过仅从命令行提示符处调用程序名称而无需指定java javac的方式从计算机上的任何位置执行程序。