`
yaojialing
  • 浏览: 255539 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

(转)精简JRE第一步 — 精简bin目录

    博客分类:
  • JVM
阅读更多

文章转自:http://jarg.iteye.com/blog/860896

 

 

JRE(Java Runtime Environment): Java运行环境.

 

打开JRE安装目录.目录包括bin,lib二个文件夹.

1. bin: 可以认为这是Java虚拟机.

2. lib: 执行class文件时,Java虚拟机需要用到的类库及资源文件.

 

① bin目录最主要的工具是java.exe,它用来执行class文件.

如果只是为了单纯运行Java程序的话,其他可执行文件一般都是用不到的(可剔除).

 

② bin目录里面的动态链接库文件dll是java.exe执行class文件过程中调用的.

执行class文件,java.exe需要哪个库文件就加载哪个dll,不需用的可以剔除.

 

本文主要介绍哪些动态链接库文件被java.exe加载,为java.exe执行class文件,运行当前Java程序所必需的.

 

实例:

 

Java代码 复制代码 收藏代码
  1. /*  
  2. @author jarg  
  3. @TODO 举例查看当前程序必需的dll文件  
  4. */  
  5. import java.io.InputStreamReader;   
  6. import java.io.IOException;   
  7.   
  8. public class Hello   
  9. {   
  10.     public static void main(String[] args) throws IOException   
  11.     {   
  12.         InputStreamReader ir = new InputStreamReader(System.in);   
  13.         System.out.println("Hello");   
  14.         ir.read();   
  15.     }   
  16. }  
/*
@author jarg
@TODO 举例查看当前程序必需的dll文件
*/
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();
	}
}

 

为了不让程序刚运行就退出,添加了一条接收键盘输入的设语句: ir.read();等待用户键盘输入,以方便查看正在被java.exe加载的动态链接库文件.

 

通过java Hello命令运行上面的程序.


保持程序运行的同时,打开Windows任务管理器,在进程中查看镜像名称为: java.exe进程的PID.



 
打开下面附件里的Dll killer,在进程ID处输入java.exe的PID值就能看到java.exe执行当前程序所加载的dll文件.



 
目录路径为:(因jdk,jre安装路径不同而异)C:\Program Files\Java\jre\bin的dll文件即为java.exe执行当前程序所需要加载的虚拟机下的dll文件.将这些文件按照原来的目录层次复制出来就完成了本文要介绍的内容: 精简bin目录.



 

 

注: 查看进程加载的dll文件的方式,软件很多.

360安全卫士 -> 功能大全 -> 进程管理器 右上角的显示加载到当前选中进程中的dll.

附件中的进程管理器XP,CProcess,SRTask,冰点都能完成这一功能.

分享到:
评论

相关推荐

    精简JRE第一步 — 精简bin目录

    我们将分析"精简JRE第一步 — 精简bin目录"这一主题,并结合"源码"和"工具"这两个标签来阐述具体的方法和策略。 首先,我们需要理解"bin"目录的作用。这个目录下的文件主要是可执行二进制文件,如`java.exe`、`...

    精简jre步骤 迷你jre制作过程

    精简jre步骤 1. 拷贝一个完整版的jre文件夹到D盘 2. 删除jre目录下所有出bin和lib目录的所有文件或目录 3. 打开cmd窗口,设置path路径为空,转到D:\jre\bin目录,运行java –version。正常显示当前Java的版本。 4. ...

    精简版jre.zip 64位 1.8.0压缩后才20M

    本"精简版jre.zip"是专为64位操作系统设计的1.8.0版本,其经过优化和裁剪,体积仅有20MB,相较于官方完整版JRE,大大减少了存储空间的需求,对于那些只需要运行Java桌面程序而无需进行开发工作的小朋友们来说,这是...

    超级精简版的jre

    文件名称列表中只有一个"jre",这可能表示压缩包里包含了一个完整的JRE,但是否经过精简则需要实际解压检查。通常,精简版JRE会包含以下几个关键目录和文件: - `bin`:存放可执行文件,如`java`、`javaw`等。 - `...

    自己动手精简你的jre到做小

    自己动手精简我们jre,再打包成exe这样java程序就可以在windows下很好的运行了,而且jre体积也很小不影响下载!感兴趣的可以下载后动手精简一下你的jre,我的精简到了2M以内,做成exe后根本看不出来是java做的。里面...

    jre-超级精简GreenJVM版

    标题中的"jre-超级精简GreenJVM版"指的是一个特别优化和精简的Java运行环境(Java Runtime Environment, JRE),它被称为GreenJVM。这个版本可能针对特定的性能需求或者轻量级设备进行了定制,以实现更快的启动速度...

    精简的JRE7的资源

    至于压缩包中的文件名称列表只有一个“jre7”,这可能是压缩包本身的名称,解压后可能会展开成一个包含多个子目录和文件的结构,如bin(包含可执行文件)、lib(包含Java类库)、conf(配置文件)等。在这个精简版中...

    对jre包里的rt.jar精简

    对jre包里的rt.jar精简,第一步:解压工具.rar,第二步:把你打包的jar小项目放到同一文件夹里。第三步:cmd,运行命令javaw -Dfile.encoding=utf-8 -jar GreenJVMMake.jar -t da -i ./mytest.jar -o ./ 执行后可以...

    JDK8精简版 单独JRE运行环境

    自己开发的java程序要在别人电脑上运行吧!但是给别人电脑装完整jdk是不是太“重”了呢?这个单独提取的jre可以帮你。Windows上运行可以创建bat放jre当前目录:@echo off %cd%\jre\bin\java.exe -jar %cd%\xxx.jar

    精简版JRE7 64位 (6MB)

    在压缩包文件名称列表中只提到了"jre7",这意味着压缩包可能包含JRE7的所有必要文件,包括bin目录下的可执行文件(如java.exe)、lib目录下的类库文件以及必要的配置文件。为了使用这个精简版JRE,用户需要将解压后...

    windows_64位_1.7_精简版jre

    描述中提到“只有不到30M”,这意味着这是一个精简版的JRE,相较于完整版,它去除了不必要的组件和服务,以实现更小的安装包大小。这种精简版的优势在于,一方面减少了下载和安装的时间,另一方面也降低了系统资源的...

    jre-超级精简普通版版

    标题“jre-超级精简普通版版”指的是一个针对Java运行环境(Java Runtime Environment, JRE)的轻量级版本。JRE是Java应用程序执行所必需的组件,它包含了Java虚拟机(JVM)、类库以及其他支持Java程序运行的必要...

    jre精简工具(附详细教程)

    4. 测试精简JRE:在创建的custom_jre目录下,你可以找到一个bin目录,其中包含精简版的java可执行文件。使用这个java启动你的应用,确认能否正常运行。 四、注意事项 1. 模块选择:务必确保添加了所有应用运行所需...

    jre 1.6免安装精简版

    在压缩包子文件的文件名称列表中仅列出了"jre",这可能代表压缩包内包含了完整的JRE目录结构,包括bin(存放可执行文件如java、javaw等)、lib(包含Java类库)、jre(可能还有子目录结构,如lib、bin等)以及可能的...

    jre1.6免安装精简版

    6. **文件名称列表**:只有一个名为"jre"的文件,这可能是压缩包的主文件名,实际解压后可能包含Java运行环境的各种组件,如bin目录下的可执行文件(如java.exe、javaw.exe等)、lib目录下的类库文件、man目录下的...

    精简版的jre6,绝对能支持桌面swing程序。

    对于开发者来说,这个精简版的JRE6提供了一种轻量级的解决方案,可以在不牺牲Swing应用性能的前提下降低系统的负担。如果你的项目仅依赖于Swing,那么这个版本的JRE6将是部署和测试的优秀选择。同时,由于这个版本是...

Global site tag (gtag.js) - Google Analytics