A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 李辉 中级黑马   /  2013-3-11 16:26  /  1567 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 李辉 于 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:}

1 个回复

倒序浏览
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时总不能每次都去设置环境变量吧,为了方便用户的使用,它提供了这样一个自动注册环境变量的功能。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马