[code]
1.如果安装了jdk,那么在jdk1.x文件夹下会有一个jre,一般在其他地方,通常是c:\xx\jre,所以如果安装jdk,那么会有两个jre,为什么呢?
虽然说 jre 是字节码文件就能运行,但是他是.class的运行环境,jdk中多了很多东西,比如javac.exe,这些东西可以编译java,但是javac.exe这些东西也都是java写的,我们可以把这些东西看成是.class,那么如果要使用这个javac.class文件 ,当然也需要有一个jre来运行啦。。。。所以jdk里面提供了一个jre,这个jre是给这些.exe文件使用的
java.class------->本机程序库.dll------>JVM.dll------>辅助程序库
2.那么既然机器中可能有两套JRE,那由谁来决定使用那一套呢?这个艰巨的任务落在了java.exe身上,当输入java.exe命令执行一个java程序时,他会按照下面的方法来寻找合适的JRE
java.exe位于jre\bin目录下。。。。。javac.exe在jdk\bin下面
找jre就是为了定位虚拟机----虚拟机一般是client/jvm.dll文件
1。首先查找自己的目录是否有JRE
2.查看父目录是否有JRE
3.查看系统配置(如在Windows系统中,回去查看注册表中的HKEY_LOCAL_MACHINE\Software\JavaSoft\Java Runtime Environment项目)
[/code]
1.如果安装了jdk,那么在jdk1.x文件夹下会有一个jre,一般在其他地方,通常是c:\xx\jre,所以如果安装jdk,那么会有两个jre,为什么呢?
虽然说 jre 是字节码文件就能运行,但是他是.class的运行环境,jdk中多了很多东西,比如javac.exe,这些东西可以编译java,但是javac.exe这些东西也都是java写的,我们可以把这些东西看成是.class,那么如果要使用这个javac.class文件 ,当然也需要有一个jre来运行啦。。。。所以jdk里面提供了一个jre,这个jre是给这些.exe文件使用的
java.class------->本机程序库.dll------>JVM.dll------>辅助程序库
2.那么既然机器中可能有两套JRE,那由谁来决定使用那一套呢?这个艰巨的任务落在了java.exe身上,当输入java.exe命令执行一个java程序时,他会按照下面的方法来寻找合适的JRE
java.exe位于jre\bin目录下。。。。。javac.exe在jdk\bin下面
找jre就是为了定位虚拟机----虚拟机一般是client/jvm.dll文件
1。首先查找自己的目录是否有JRE
2.查看父目录是否有JRE
3.查看系统配置(如在Windows系统中,回去查看注册表中的HKEY_LOCAL_MACHINE\Software\JavaSoft\Java Runtime Environment项目)
[/code]