作者:早餐2块2
dk:java开发包,包括java开发工具:javac.exe,jar.exe等
jvm:java虚拟机。以jvm.dll文件存在于计算机(windows平台)
jre:java运行环境。
一般来说(可以选择),如果安装了jdk,计算机就会存在两套jre,一套位于jdk安装目录下的/jre子目录中,另一套位于c:\Program File\Java\下。java的程序必须依靠jre才能执行,jre包含了jvm,也就是java虚拟机。所以只要计算机中正确安装了jre就能执行java程序。为什么jre需要安装两套了,因为jdk中有很多的java开发工具(jdk安装目录\lib\tools.jar)本身就是用java开发的,如果要使用,必须要自行附一套jre才行,也就是jdk下面jre存在的目的(其实也可以用来执行我们的程序),而c:\Program File\Java\下的是用来执行我们所写的java程序的。
当我们运行java xxx时,java.exe是按照下列顺序寻找jre的:
1,自己目录下有无jre目录
2,父目录下的jre目录
3,查询 windows Register(HKEY_LOCAL_MACHINE\Software\JavaSoft\Java Runtime Environment\
所以我们程序的运行与java.exe是哪个目录下和这个java.exe所指引的jre很有关系。而java.exe的指定是根据系统的path变量。
参考书籍:《java深度历险》