您的位置:首页 > 编程语言 > Java开发

JDK、JRE、JVM三者关系

2013-11-27 15:54 281 查看
JDK:java开发套件

JRE:java执行环境(包含了java类别函式库.class和java虚拟机器jvm.dll)

JVM:java虚拟机

1、当我们首次安装JDK的时候,那么我们电脑上一定会有两套JRE:这两套jre内容没有任何差别!

一套在jdk安装目录下的jre文件夹;

还有一套默认是在C:\Program File\Java下。

那么为什么要有两套java运行环境呢???
这是因为:JDK里面的工具几乎是用Java 所撰写的,所以JDK 本身就是Java 应用程式,因此要使用JDK 附的工具来开发Java 程式,也必須要自行附一套JRE 才行,就是<jdk 安装目录>\jre 底下需要一套JRE 的原因。而位于Program File\底下的那套JRE 就是拿來执行我们自己所撰写的Java 应用程式。
其实javac.exe是个包装器,是为了让开发者免于输入太长的指令。jdk的bin目录里差不多都是包装器。

2、java.exe寻找jre的逻辑:

1. 自己的目录下有沒有JRE 目录。(这个部分这样说并不是非常精确,原因详见JDK 原始码,这里不特别说明)

2. 父目录底下 JRE 子目录。

3.查询 Windows Registry(HKEY_LOCAL_MACHINE\Software\JavaSoft\Java Runtime Environment\)。所以,java.exe 的执行結果和您电脑里面哪一个java.exe 被执行,然后哪一套JRE 被拿來执行Java应用程式有莫大的关系。

3、JVM和JRE:

JVM其实就是JRE运行环境里面的一个连接应用程式逻辑并且启动的引擎,通过它可以将我们写的java程序与jre运行环境串接起来运行。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  jdk jvm jre