为什么JDK的安装路径下存在两个JRE?

1. 疑问

在JDK的安装路径下,我们可以看到两个JRE(Java运行环境)。
为什么JDK的安装路径下存在两个JRE?
为什么JDK的安装路径下存在两个JRE?
为什么JDK的安装路径下存在两个JRE?
简而言之,上面JDK子目录中包含一个JRE,而下面又有一个JRE,这是为什么呢?

2. 解答

第一个JRE用于JDK自带开发工具提供环境,如JDK中的javac.exe和jar.exe。
第二个JRE用于为开发者编写的代码提供环境。
这两个JRE都可以作为开发时Java程序的运行环境,但是JDK自带的工具只能使用第一个目录下的JRE那么由谁来判断使用哪一个JRE?

在命令提示符中,使用java ** 命令来执行字节码文件时,由java.exe来进行判断,并使用以下顺序:
1.自己目录下是否存在JRE
2.父目录下是否存在JRE
3.查询注册表"HKEY_LOCAL_MACHINE\Software\JavaSoft\Java Runtime Environment" 路径

3. 链接

JDK和JRE还有JVM有什么区别?