在控制台输入java后,从输出的帮助信息中能找到如下内容:
-verbose[:class|gc|jni]
enable verbose output
-verbose:gc 输出虚拟机内存回收相关信息.
-verbose:jni 输出调用本地方法相关信息
-verbose:class(等同于-verbose) 输出虚拟机加载类相关信息.
借助-verbose命令,查看虚拟机在运行Java程序时所加载的所有类.
根据加载的类来裁剪JRE目录下类库(主要是rt.jar),辅助完成JRE的精简工作.
测试程序:
/*
@author jarg
@TODO 测试-verbose命令
*/
import java.io.InputStreamReader;
import java.io.IOException;
public class Hello
{
public static void main(String[] args) throws IOException
{
InputStreamReader ir = new InputStreamReader(System.in);
System.out.println("Hello");
ir.read();
}
}
命令测试:
java -verbose Hello>log.txt
注: 命令行尾>log.txt是输出结果保存到log.txt;不写则直接输出到控制台.
输出结果:
[Loaded java.lang.Object from shared objects file]
[Loaded java.io.Serializable from shared objects file]
[Loaded java.lang.Comparable from shared objects file]
...
[Loaded java.lang.Math from shared objects file]
[Opened C:\Program Files\Java\jre\lib\rt.jar]
[Loaded java.nio.charset.Charset$3 from C:\Program Files\Java\jre\lib\rt.jar]
[Opened C:\Program Files\Java\jre\lib\charsets.jar]
[Loaded sun.nio.cs.AbstractCharsetProvider from C:\Program Files\Java\jre\lib\rt.jar]
[Loaded sun.nio.cs.ext.ExtendedCharsets from C:\Program Files\Java\jre\lib\charsets.jar]
[Loaded java.lang.Class$1 from shared objects file]
...
[Loaded Hello from file:/C:/Documents%20and%20Settings/Administrator/%e6%a1%8c%e9%9d%a2/loadDLL/]
Hello
[Loaded java.lang.Shutdown from shared objects file]
[Loaded java.lang.Shutdown$Lock from shared objects file]
从输出结果查看运行当前命令所需加载的类,根据这些类文件在rt.jar中目录层次关系复制出来.将这些类文件打包,并命名为rt.jar(即是精简后的rt.jar).
分享到:
相关推荐
官网下载java运行环境,含32位、64位安装程序,压缩包内容包括: jre-8u231-windows-x64.exe jre-8u231-windows-i586.exe 官网下载速度较慢
jre-8u202-windows-x64.exe适用于Windows x64位系统,是在Binary Code License (“BCL”)许可协议下提供最后的免费商业版本,允许用在生产环境中; 对于 2019 年 4 月 16 日开始的版本,Oracle JDK 许可协议已更改...
(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-8u152-windows-x64 jre-8u152-windows-x64 jre-8u152-windows-x64
jre-7u9-windows-x64.tar,在官网下载的各位可以放心使用。
jre-8u202-windows-x64.tar.gz适用于Windows x64位系统,是在Binary Code License (“BCL”)许可协议下提供最后的免费商业版本,允许用在生产环境中; 对于 2019 年 4 月 16 日开始的版本,Oracle JDK 许可协议已...
jre-8u241-windows-x64.exe jre-8u241-windows-x64.exe jre-8u241-windows-x64.exe 避免官网下载,官网下载太麻烦了。
eclipse-temurin官网下载的eclipse-temurin-alpine-jre-17
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-6u26-windows-i586
jre-8u241-windows-i586.exe jre-8u241-windows-i586.exe jre-8u241-windows-i586.exe 官网下载的,放心使用
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-6u11-windows-i586-p.exe
jre-7u21-windows-x64
jre 7 64位版本(jre-7u45).