黑马程序员技术交流社区

标题: 再问关于jdk有两个java.exe [打印本页]

作者: 李辉    时间: 2013-3-11 16:26
标题: 再问关于jdk有两个java.exe
本帖最后由 李辉 于 2013-3-11 16:36 编辑

      很早以前我问过一次为什么jdk里面有两个java.exe,路径是:java\jdk1.7\bin里有个java.exe,java\jdk1.7\jre\bin也有一个java.exe。 有人回答说path里配了哪一个就用哪一个;有人说安装jdk是会提示是否安装独立的jre,如果安装了就会有两个。这些解释我都不认同,但一直也没找到答案。第二种解释错在没看清楚问题,没看清楚问题里说的路径。
      纠结了许久之后,我想到一种解释:那两个java.exe 实际上都不是真实的java虚拟机,而是虚拟机程序的快捷方式。不过这还是我的猜测,所以在此提出来,请朋友们一起分析一下。{:soso_e130:}
作者: 爪哇攻城狮    时间: 2013-3-11 18:29
jdk里的java.exe和jre中的java.exe其实是一样的,通常我们在装jdk时,通常也会把jre也附带的装上,打开两者的bin目录,发现其中都有一个java.exe,但我们在编译运行的时候用的却是jre中的java.exe,也就时当你装上jre时,jdk中的java.exe其实根本就用不到,不信你可以把jdk的bin目录中的java.exe工具给移出来,再编译运行试试,正常运行。

jre时运行java的客户端环境,当我们在装jre时,jre会自动把它的java.exe添加到系统的环境变量里,这样每次在运行java时,优先用到的就时jre中的java.exe了,因为用户在装jre时总不能每次都去设置环境变量吧,为了方便用户的使用,它提供了这样一个自动注册环境变量的功能。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2