在java的安装目录里面,分为JDK和JRE目录,但是在JDK目录下又有一个JRE目录,两个JRE目录到底有什么区别呢?
首先,我想简单说一下JDK和JRE的区别,虽然两者都有一个bin目录,但是JDK和JRE还是各有其职能的。就名称来说,JRE意是运行环境,而JDK是开发环境(因为是Development Kit嘛),但是实际上却不是那么简单的。一般来说,JRE是最终用户需要用到的,如浏览器插件或者Swing界面的客户端就可直接用JRE;搞技术的人或者应用服务器上都是用JDK。JDK实际上自含一个JRE,而且JDK是依赖于它自含的JRE的。
JDK目录下(以1.6.0,Windows的为例)就包含一个子目录jre,你用JDK\bin\java启动程序时,实际上是依赖于jre目录的。以下简要过一下JDK目录下的子目录吧(非特殊说明,下列为JDK目录的一层子目录):
bin: 这是存放java启动命令以及其他开发工具命令(如javac)的,该目录应当保存到PATH变量中。
lib: 是JDK工具用到的类库及其他文件。
tools.jar就包含了对开发工具的支持功能库;
dt.jar就是所谓DesignTime的东西,估计是给JavaBean和IDE用的;
jconsole.jar自然是给jconsole工具用的了;
htmlconverter.jar是用来把用applet的HTML转成所谓Java Plug-In的,即<APPLET>标签改为 <OBJECT><EMBED>。
jre: 这就是JDK自含JRE的根目录了,这是系统属性java.home所指向的目录。
jre/bin: 包含执行文件和dll等库文件,是JVM需要的,可执行文件和jdk/bin是一样,本目录不需要被PATH所包含。
jre/bin/client: 包含用Client模式的VM时需要的dll库。
jre/bin/server: 包含用Server模式的VM时需要的dll库。
jre/lib: 包含核心代码库(Java平台的core API),如rt.jar是所谓的bootstrap的类库,还有很多其他需要的子目录和资源文件等等。注意这个lib目录和jdk/lib是不一样的。
jre/lib/ext: 是Extension Class Loader装入jar类库的地方,如localdata.jar包含的是java.text和java.util需要的东西。
jre/lib/security: 包含JVM安全需要的设置文件,JVM信任的证书也在这里。
jre/lib/applets: 用于applet需要用到的jar库文件,Applet类通过Applet Class Loader从本地文件系统中预加载,这样为减小大型 Applet 的启动时间提供了一些方式,好像从网上已经下载完成了一样。
jre/lib/fonts: 字体文件。
include: 包含C语言头文件,用于编写JNI程序和JVMDI(Debugger Interface)的程序时用到,好像还有JVMTI。
原文链接:http://swiftlet.net/archives/631
相关推荐
这篇博客将深入探讨Java枚举的特性和使用方法,包括`EnumSet`和`EnumMap`这两个与枚举相关的数据结构。 首先,枚举定义的基本语法是`public enum EnumName {constant1, constant2, ...}`。每个枚举常量都是`...
老猿说说-ArrayList MD文件 1. 所有的操作都是线程安全的,我们在使用时,无需再加锁; 2. 多个线程同时进行put、remove等操作时并不会阻塞,可以同时进行,和HashTable不同,HashTable在操作时,会锁住整个Map; 3. ...
8. 举例说明某个JDK函数或者类的源代码分析 9. 说说您过去的项目经历 10. 画出您最了解的项目的总体设计图 11. 说说过去工作中遇到的最复杂的技术难题,并说出您的解决方案 五、人事面试 人事面试是压轴项目,HR官...
1. 说说 List、Set、Map 三者的区别? 2. Arraylist 与 LinkedList 区别? 3. RandomAccess接⼝ 4. 双向链表和双向循环链表 5. Collections ⼯具类和 Arrays ⼯具类常⻅⽅法总结 三、Java 多线程 1. 简述线程、...
再来说说Spring框架,它是Java企业级应用的首选。Spring提供了依赖注入(DI)和面向切面编程(AOP),简化了应用的开发和管理。Spring Boot进一步简化了配置,让快速启动新项目成为可能。学习Spring MVC和Spring Data ...
* 看过哪些 JDK 源码,了解哪些常用库 * 集合框架 HashMap 的扩容机制,ConcurrnetHashMap 的原理 * JVM 内存模型与 GC 内存回收机制 * ClassLoader 结构,是否可以自己定义一个 java.lang.String 类,为什么? * ...
虚拟机内存结构和垃圾回收docx.docx 锁分类的了解.docx 集合的扩容机制.png SpringMVC部分.docx Spring部分.docx 第一题.pdf 第七题 谈谈MySQL支持的事务隔离级别 (1).pdf 第三题 对比HashTable HashMap TreeMap有...
2、编写一个程序,将d:\java目录下的所有.java文件复制到d:\jad目录下,并将原来文件的扩展名从.java改为.jad。 62 3、编写一个截取字符串的函数,输入为一个字符串和字节数,输出为按字节截取的字符串,但要保证...
JDK为每种类型的流提供了一些抽象类以供继承,请说出他们分别是哪些类? 49 73、字节流与字符流的区别 50 74、什么是java序列化,如何实现java序列化?或者请解释Serializable接口的作用。 51 75、描述一下JVM加载...
2、编写一个程序,将d:\java目录下的所有.java文件复制到d:\jad目录下,并将原来文件的扩展名从.java改为.jad。 62 3、编写一个截取字符串的函数,输入为一个字符串和字节数,输出为按字节截取的字符串,但要保证...
2、编写一个程序,将d:\java目录下的所有.java文件复制到d:\jad目录下,并将原来文件的扩展名从.java改为.jad。 62 3、编写一个截取字符串的函数,输入为一个字符串和字节数,输出为按字节截取的字符串,但要保证...
2、编写一个程序,将d:\java目录下的所有.java文件复制到d:\jad目录下,并将原来文件的扩展名从.java改为.jad。 68 3、编写一个截取字符串的函数,输入为一个字符串和字节数,输出为按字节截取的字符串,但要保证...
17. 下面这段代码中需要对数组“arr”进行排序(从小到大),请实现其代码(避免使用 JDK 提供的方法,如:Arrays 类的 sort 方法)。(12 分) 使用冒泡排序或选择排序算法可以实现数组的排序操作。
- **UDDI(Universal Description, Discovery and Integration)**:一种目录服务,用于发布、查找和集成Web服务。 - **WSDL(Web Services Description Language)**:一种用于描述Web服务的XML格式。 20. **WEB容器...
引用类型和原始类型具有不同的特征和用法,它们包括:大小和速度问题,这种类型以哪种类型的数据结构存储,当引用类型和原始类型用作某个类的实例数据时所指定的缺省值。对象引用实例变量的缺省值为 null,而原始...
- **UDDI(Universal Description, Discovery and Integration)**: 一种目录服务,用于发布、查找和集成Web服务。 - **WSDL(Web Services Description Language)**: 一种基于XML的语言,用于描述Web服务的接口。 ...
Java异常处理机制通过`try-catch-finally`结构来捕获和处理异常。`try`块中编写可能抛出异常的代码,`catch`块用来处理异常,`finally`块用于执行清理工作。 **44. 请写出你最常见到的5个runtimeexception。** - `...