该实例Swing计算器 with 精简JRE,分二步完成.
由于在本博客中都有介绍,因此不再赘述,只是简单说明一下.
1. 精简JRE第一步 — 精简bin目录
主要目的: 精简动态链接库dll文件.
除了保留执行Java程序必备的java.exe外,通过相关工具查看正在运行的Java程序所加载的dll文件.
根据这些文件的路径,从而得知运行程序所依赖的dll文件,保留这些dll文件,其他的删除.
精简后bin目录:
2. 精简JRE第二步 — 精简lib目录
主要目的: 精简类库,特别是rt.jar.
该目录大体上来说包含类库,系统资源文件,虚拟机配置文件(没深究,可能说得不太对).
虚拟机配置文件jvm.cfg(位于i386目录下),作为java.exe的全局参数,必不可少.
系统资源文件,诸如字体,鼠标样式等,若未用到,可以删除.
当前实例Swing计算器刚好有用到字体资源,fontconfig.bfc也需要保留.
同时,从精简后的bin目录中动态链接库文件fontmanager.dll也可以确认该实例用到字体资源.
类库rt.jar占整个lib目录75%左右的空间,所以精简rt.jar是第二步的重中之重.
精简rt.jar的过程,先是通过java -verbose命令,跟踪程序执行过程,将执行过程中所有加载的类记录到log.txt中;
再将该文件做相应的修改,方便类拷贝程序将rt.jar中相应的类拷贝出来;最后打包拷贝出来的类,并重命名为rt.jar.
完成rt.jar的精简工作.
类库charsets.jar包含执行class文件所需的编码方式,一般只会用到一种(GBK或UTF-8).根据上述类拷贝程序中提示信息,手动将那几个文件拷贝出来.
拷贝程序输出信息:
注: 根据程序的不同,所需要加载类不同.有些程序会需要加载除rt.jar,charsets.jar以外的程序.因此,精简过程要根据程序不同灵活变通(此时可以查看原始的log.txt文件,手动找出图中ERROR行类位置).
本实例不仅用到rt.jar以及charsets.jar类库,还用到lib/ext/localedata.jar类库(由于加载的类不多,自行手动复制后打包)
精简后lib目录:
Swing计算器 with JRE:
运行Swing计算器:
@echo off
@echo author: jarg
@echo Swing计算器 with JRE,正在运行...
set path="./jre/bin" java -cp "./jre/lib" -jar Calucator.jar
该实例Swing计算器源程序来源于网络,本文主要目的是为了展示精简后的JRE.
- 大小: 63.7 KB
- 大小: 22.9 KB
- 大小: 8.7 KB
- 大小: 6.2 KB
- 大小: 34.6 KB
分享到:
相关推荐
jadx-gui-1.4.6-with-jre-win.zip.cab
jadx-gui-1.1.0-with-jre-windows.zip。github速度太慢,下载这个备用。以防急用,又下载不完,急死人!!!
官网下载java运行环境,含32位、64位安装程序,压缩包内容包括: jre-8u231-windows-x64.exe jre-8u231-windows-i586.exe 官网下载速度较慢
(1)jre-8u301-linux-i586.rpm (2)jre-8u301-linux-i586.tar.gz (3)jre-8u301-linux-x64.rpm (4)jre-8u301-linux-x64.tar.gz (5)jre-8u301-macosx-x64.dmg (6)jre-8u301-macosx-x64.tar.gz (7)jre-8u...
jre-8u202-windows-x64.exe适用于Windows x64位系统,是在Binary Code License (“BCL”)许可协议下提供最后的免费商业版本,允许用在生产环境中; 对于 2019 年 4 月 16 日开始的版本,Oracle JDK 许可协议已更改...
jadx-gui-0.9.0-with-jre-win ,jadx-gui-0.9.0-with-jre-win ,jadx-gui-0.9.0-with-jre-win ,
jre-8u152-windows-x64 jre-8u152-windows-x64 jre-8u152-windows-x64
jre-7u9-windows-x64.tar,在官网下载的各位可以放心使用。
jre-8u241-windows-x64.exe jre-8u241-windows-x64.exe jre-8u241-windows-x64.exe 避免官网下载,官网下载太麻烦了。
jre-8u202-windows-x64.tar.gz适用于Windows x64位系统,是在Binary Code License (“BCL”)许可协议下提供最后的免费商业版本,允许用在生产环境中; 对于 2019 年 4 月 16 日开始的版本,Oracle JDK 许可协议已...
jre-8u371-windows-x64 1.8
最新版本的jre-8u321-windows-i586.exe和jre-8u321-windows-x64.exe官网下载。
jre-8u381-windows-x64.exe 2023
Oracle jre-8u341-windows-x64安装程序 sha256: 78f9cebd517a838138bedc8651e84f6a576b43f9e84f18bb0b2e3b84c7208e02 md5: 4b1dcc385b4efc8b5e51343210e423a2 Java 虚拟机 (JVM) 是一种虚拟机,它使计算机能够...
jre-8u241-windows-i586.exe jre-8u241-windows-i586.exe jre-8u241-windows-i586.exe 官网下载的,放心使用
jre-6u26-windows-i586
jre-8u202-windows-i586.exe适用于Windows x86 Offline 32位系统,是在Binary Code License (“BCL”)许可协议下提供最后的免费商业版本,允许用在生产环境中; 对于 2019 年 4 月 16 日开始的版本,Oracle JDK ...
Server JRE (Java SE Runtime Environment) 8u202,server-jre-8u202-linux-x64.tar.gz适用于Linux 64位系统,是在Binary Code License (“BCL”)许可协议下提供最后的免费商业版本,允许用在生产环境中;...
jre-7u21-windows-x64