JDK、JRE、JVM三者关系,jdkjrejvm关系
分享于 点击 40877 次 点评:204
JDK、JRE、JVM三者关系,jdkjrejvm关系
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运行环境串接起来运行。
相关文章
- 暂无相关文章
用户点评