Advertisement

基于jlink优化的jdk11版本用于精简jre

阅读量:

jdk11使用jlink定制精简jre

jdk11采用了模块化的架构设计,不再默认集成jre,而是根据实际需求进行构建。用户只需选择所需模块进行打包,避免引入不相关的组件,从而有效减少jre的总体体积。

进入jdk11的安装目录,

在bin文件夹中可以找到名为jlink.exe的可执行文件,该工具将被用于后续操作;同时,在jmods目录下可见多个以jmod为后缀的文件。实际上,这些jmod文件本质上是压缩格式的数据包,可通过解压软件打开,其中包含各类class文件及其他相关资源。

其中java.base.jmod是最基础的核心模块,其运行不依赖于其他任何模块。而其余所有模块均需依赖java.base模块。该基础模块中涵盖了诸如java.lang.Object、java.lang.String等基本类。

关于具体的模块化实现方式,可参考官方文档:
http://openjdk.java.net/jeps/200

若需查看项目所依赖的模块信息,可以使用如下命令(xxx.jar为项目生成的jar包):
jdeps --list-deps xxx.jar

接下来我们使用前一篇文章中创建的项目来构建自定义版本的jre。由于前文中的项目未引入额外模块,因此仅需包含java.base即可。
[使用 jdk11 + maven 开发

全部评论 (0)

还没有任何评论哟~