jdk11使用jlink定制精简jre_jdk11精简-程序员宅基地

技术标签: jdk  java  jre  

jdk11使用jlink定制精简jre

jdk11是模块化设计,不再包含jre,而是按需生成,需要哪个模块,就将哪个模块打包成jre,而不需要引入无关紧要的其他模块,可以大幅缩小jre体积。

打开jdk11包路径,

在bin目录下可以看到jlink.exe文件,我们将使用这个工具;再打开jmods文件夹,可以看到许多的以jmod为结尾的文件,其实jmod文件就是一个压缩包,可以使用加压缩文件打开,里面包含了class文件和其他文件。

其中java.base.jmod是最基本的模块,不依赖于其他任何模块,而其它模块都依赖于java.base模块。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 开发 JavaFX

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/xizi1103/article/details/104108660

智能推荐

oracle要有什么基础知识,oracle 基础知识-程序员宅基地

文章浏览阅读85次。1、 AIX环境下查看oracle配置信息(service_name、SID、tnsname)。SID:echo $ORACLE_SIDservice_name:sqlplus / as sysdba;show parameter instance_name;show parameter service_names;show parameter service;select instance_n..._ora 基础信息

计算机毕业设计 asp.net人民警察管理系统 毕设-程序员宅基地

文章浏览阅读836次,点赞25次,收藏20次。4 系统的设计。

IOS开发者账号被调查(Other - Other)怎么办?附解决办法_苹果审核other还有救吗-程序员宅基地

文章浏览阅读5.2k次,点赞2次,收藏3次。Ios开发者账号被other怎么办?other也不是完全没救的,先不要慌,我举例了几种other的邮件,逐个分析,希望对开发者们有所帮助审核详情类型类型1:态度中立型Hello,The review of your app is taking longer than expected. Once we have completed our review, we will notify you via Resolution Center.If you would like to inquire ab_苹果审核other还有救吗

Ubuntu 16.04 4k屏高分辨率卡顿问题_ubuntu 4k 卡顿-程序员宅基地

文章浏览阅读2.5k次。Ubuntu 16.04 4k屏分辨率问题问题描述:双11入手一台明基PD2700U 4k监视器(不叫显示屏,显得高端一些,事实也确实不叫screen, 而是monitor),我的显卡是Nvidia GeForce GTX 1060 6G,在windows下表现良好,但是在Ubuntu下3840x2160十分卡顿。xrandr使用xrandr命令查看HDMI-1的输出mode,该模式下刷新率只有30Hz,十分不爽。碰运气的尝试换了显卡上HDMI-2的接口,发现3840x2160分辨率下可以达到6_ubuntu 4k 卡顿

RedisDesktopManager无法远程连接到Linux虚拟机中Redis的docker容器的一种解决方案_docker安装的redis不能远程连接到linux-程序员宅基地

文章浏览阅读650次,点赞7次,收藏5次。除了RedisDesktopManager以外,使用java代码也无法连接到centos7虚拟机中的docker容器中的Redis ,按照网上其他博主的解决方案,在排除Linux防火墙问题,端口映射问题,redis.conf配置文件问题以后,仍然无法在虚拟机外访问到redis容器。我通过恢复之前快照的方式仍然无法连接到redis容器。在重启centos系统后,不用做其他修改,就用RedisDesktopManager连接上了虚拟机中的redis docker容器。_docker安装的redis不能远程连接到linux

Javascript通过bind()掌控this_javascript .bind(this)-程序员宅基地

文章浏览阅读1k次。版权声明:本文为博主原创文章,未经博主允许不得转载。今天看到公司大神的一段代码:[javascript] view plain copyfunction ReplaceProcessor() { this._dom = { btnReplace : $('#ro_btnReplace'), _javascript .bind(this)

随便推点

图像/视频数据标注工具_rectlabel windows版本下载-程序员宅基地

文章浏览阅读2.2k次,点赞2次,收藏16次。十个最常用深度学习图像/视频数据标注工具原创: gloomyfish OpenCV学堂从此以后图像与视频数据标注不用为找工具发愁!好东西记得分享图像数据标注概述在深度学习领域,训练数据对训练结果有种至关重要的影响,在计算机视觉领域,除了公开的数据集之外,对很多应用场景都需要专门的数据集做迁移学习或者端到端的训练,这种情况需要大量的训练数据,取得这些数据方法有如下几种人工数据标注自动数..._rectlabel windows版本下载

Cmake Error: your compiler "cl" was not Found .etc-程序员宅基地

文章浏览阅读163次。又是环境变量路径等问题,烦死人了。TIPS:请注意,控制台的窗口也有自己的环境变量,从系统环境变量和用户环境变量继承过来的,一个窗口(控制台)可以添加属于自己的环境变量(跟别的控制台窗口没关系) 解决方案:从windows x64 win64 Command prompt中来对vcvarsall.bat文件来配置环境变量,然后也必须在windows x64 win64 Command ..._cmake时出现error:cl not found

React笔记_p://60.167.164.202:8081/stulogin.html-程序员宅基地

文章浏览阅读247次。React以及生态圈React生态圈中技术:ReactJS ReactNative ReactVR(React360)Redux…ReactRouter ReactNavigation AntDesign 。。。概述:slogan:learn once,write anywhere(只需要学习一次react中的核心概念,就可以使用reactjs写网页,使用reactnative写nativeapp,使用react360来实现虚拟现实的app)1、reactjs(才用react实现网页编程)1_p://60.167.164.202:8081/stulogin.html

结构体变量的初始化和引用-程序员宅基地

文章浏览阅读8k次,点赞10次,收藏33次。结构体变量的初始化和引用任务描述本关任务:从键盘输入两个学生的学号,姓名和成绩(整数),分别存入结构体中,输出成绩较高的学生的学号,姓名和成绩。相关知识结构体类型用于描述由多个不同数据类型的数据构成的复合数据,是一种用户自定义数据类型。结构体的定义定义格式为struct <结构体类型名>{ <成员表>}; //分号结束定义例如,以下是一个描述学生信息的结构体类型定义:struct student{ long number; char_结构体变量的初始化和引用

ue4动态调用obj对象的方法_ue 动态对象-程序员宅基地

文章浏览阅读4.8k次。在使用AnimInstance的Notify时候发现可以动态调用UObject对象的方法,前提是这个方法必须是暴露给蓝图的或者是蓝图中的方法,应该是ue4中的某中反射机制生成的蓝图类XXX.generated.h1、使用一个AMychar对象调用自身的bp func或者 c++暴露给蓝图的方法void UMyBpFuncLib::TestObjFunc(AMyChar* _myChar,FStri_ue 动态对象

全选与反选-程序员宅基地

文章浏览阅读139次。我们的页面上有一个歌曲列表,列出多行歌曲名称,并匹配复选框供用户选择,并且在列表下方有一排操作按钮。<ul id="list"> <li><label><input type="checkbox" value="1"> 1.时间都去哪儿了</label></li> &l..._ai反选

推荐文章

热门文章

相关标签