基础概念:jdk与jre的区别

来源:互联网 发布:武汉网络推广招聘 编辑:程序博客网 时间:2024/05/18 01:14

一、JDK就是Java Development Kit.简单的说JDK是面向开发人员使用的SDK,它提供了Java的开发环境和运行环境。SDK是Software Development Kit 一般指软件开发包,可以包括函数库、编译程序等。从JDK的安装目录可以看出有五个文件夹(jre,bin,lib,db,include)、一个src类库源码压缩包 src.zip、和其他几个声明文件。其中,真正在运行java时起作用的是以下四个文件夹:bin、include、lib、 jre。
 bin目录:最主要的是编译器(javac.exe);
include目录:java和JVM交互用的头文件;
lib目录:类库;
jre目录:java运行环境。
 
二、JRE是Java Runtime Enviroment是指Java的运行环境,是面向Java程序的使用者,而不是开发者。JRE的地位就象一台PC机一样,我们写好的应用程序需要操作系统帮我们运行一样,我们编写的Java程序也必须要JRE才能运行。从JRE的安装目录结构可以看出,JRE由两个文件夹,其一为 BIN,相当于JVM-- java virtual machineJVM就是我们常说的java虚拟机,它是整个java实现跨平台的最核心的部分,所有的java程序会首先被编译为.class的类文件,这种类文件可以在虚拟机上执行,也就是说class并不直接与机器的操作系统相对应,而是经过虚拟机间接与操作系统交互,由虚拟机将程序解释给本地系统执行;光有JVM还不能完成class的执行,因为在解释class的时候JVM需要调用解释所需要的类库LIB,这就是JRE安装目录下的另外一个文件夹 。因此,从这个角度讲, JRE是由 JVM和LIB类库组成。
 
 
三、JDK和 JRE的关系
 
1、从JDJ和JRE安装目录结构可以看出这样一个关系,JDK包含JRE,而JRE包含JVM;
2、尽管JDK安装目录下的JRE目录里也有bin和lib两个文件夹,但需要注意的是它们不同于独立安装的jre里的bin、lib;
3、JDK是用于java程序的开发,而jre则是只能运行class而没有编译的功能。eclipse、idea等其他IDE有自己的编译器而不是用JDK bin目录中自带的,所以在安装时只要选中jre路径即可;
4、如果一台电脑安装两套以上的JRE, Java.exe会依照下列顺序来查找JRE来运行java程序。先检查当前 Java应用程序目录下有没有JRE,父目录次之,最后查询注册表: [HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Runtime Environment] 所以java.exe的运行结果与你的电脑里面哪个JRE被执行有很大的关系。
原创粉丝点击