1. 疑问
在JDK的安装路径下,我们可以看到两个JRE(Java运行环境)。
简而言之,上面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" 路径