1.先看两个命令:
jdeps HelloWorld.class
HelloWorld.class -> java.base
<unnamed> -> java.io java.base
<unnamed> -> java.lang java.base
可以看到HelloWorld.class里只用到了java.base模块,且只用到这个模块里的java.io和java.lang两个package【说实在话,这个模块名就不应该用java.base这样的格式,看着还以为是package】
所以我们运行HelloWorld.class是不需要用到完整的jre的,可以用jlink命令来生成更小的可执行java文件:
jlink \
--add-modules java.base \
--strip-debug \
--no-man-pages \
--no-header-files \
--compress=2 \
--output /javaruntime
/javaruntime/bin/java HelloWorld
/javaruntime目录大小会比完整jre小很多;
通过这个例子就能大概理解模块化是干啥,就是将jdk拆分了很多模块,这样如果我们的应用程序只需要其中几个模块,可以拆出这几个模块组成完整的程序;
标签:java,--,模块化,HelloWorld,初步,base,模块,class From: https://www.cnblogs.com/silentdoer/p/17772987.html