在控制台输入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).
分享到:
相关推荐
(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-8u231-windows-x64"和"jre-8u231-windows-i586"指的是Java JRE的特定版本,这里的"8u231"表示的是Java 8的更新版本号231,"windows"则表明这是为Windows操作系统设计的。"x64"代表64位系统,而"x86"或...
标题 "精简JRE - 实例Swing计算器 with 精简JRE" 提供了两个主要知识点:一是关于Java的精简版运行时环境(JRE),另一个是使用Swing构建的计算器应用。 1. **精简JRE**: Java运行时环境(JRE)是执行Java应用...
标题“jre-7u9-windows-x64”指的是Java Runtime Environment(JRE)的第7个主要版本的第9次更新,专为64位Windows操作系统设计。JRE是Oracle公司提供的Java平台的核心组件,它包含了运行Java应用程序所需的全部环境...
标题“jre-6u21-windows-i586”所指的是一款针对Windows操作系统,32位(i586)平台的Java运行环境(Java Runtime Environment,简称JRE)的更新版本,具体为6u21版。Java运行环境是运行Java应用程序所必需的基础...
eclipse-temurin官网下载的eclipse-temurin-alpine-jre-17
jre-8u241-windows-x64.exe jre-8u241-windows-x64.exe jre-8u241-windows-x64.exe 避免官网下载,官网下载太麻烦了。
jre-8u202-windows-x64.exe适用于Windows x64位系统,是在Binary Code License (“BCL”)许可协议下提供最后的免费商业版本,允许用在生产环境中; 对于 2019 年 4 月 16 日开始的版本,Oracle JDK 许可协议已更改...
jre-8u202-windows-x64.tar.gz适用于Windows x64位系统,是在Binary Code License (“BCL”)许可协议下提供最后的免费商业版本,允许用在生产环境中; 对于 2019 年 4 月 16 日开始的版本,Oracle JDK 许可协议已...
jre-8u401-windows-x64
jadx-gui-1.4.6-with-jre-win.zip.cab
标题“jre-8u152-windows-x64”指的是Java Runtime Environment(JRE)的特定版本,这是Oracle公司提供的用于执行Java应用程序的软件组件。这个版本是8u152,意即Java 8的第152次更新,针对Windows 64位操作系统。...
jre-8u371-windows-x64 1.8
标题“jre-8u381-windows-x64.exe”指的是Java Runtime Environment(JRE)的特定版本,这是Oracle公司发布的用于运行Java应用程序的软件。这个版本是8u381,意即Java 8的第381次更新,针对Windows 64位操作系统。...
Server JRE (Java SE Runtime Environment) 8u202,server-jre-8u202-linux-x64.tar.gz适用于Linux 64位系统,是在Binary Code License (“BCL”)许可协议下提供最后的免费商业版本,允许用在生产环境中;...
jre-8u202-windows-i586.exe适用于Windows x86 Offline 32位系统,是在Binary Code License (“BCL”)许可协议下提供最后的免费商业版本,允许用在生产环境中; 对于 2019 年 4 月 16 日开始的版本,Oracle JDK ...
在给定的压缩包"jre-windows-java环境.rar"中,包含了针对Windows操作系统的Java环境安装文件以及一个使用教程,帮助用户在他们的计算机上设置和使用Java环境。 1. **Java虚拟机(JVM)**:JRE的核心部分是Java...
"jre-7u17-windows-i586"这个标题表明这是一个针对Windows操作系统32位(i586架构)的Java 7 Update 17版本的JRE安装包。这个版本的发布旨在为用户提供了运行基于Java技术的应用程序所需的运行时环境。 Java是一种...