JDK和JRE的区别,以及java.exe运行目录

今天闲来无事,发现很久以前下载的《Java 深度历险》依旧静静的躺在桌面上,那就打开来看看吧。我晕!竟然是繁体的,是台湾的王森写的。算了不管那么多了,凑活着看吧!

先看导读,可能有些人觉得导读这类东西没用,其实不然。最起码能了解作者写这本书的目的、背景以及在阅读的过程中可能遇到的问题。粗略的读了一下感觉收获有两个。

一:他说SUN公司注重标准、架构,微软注重的是系统。我觉得他说的十分正确,SUN公司从来就不是一个好的产品公司,但却是一个很好的标准的制定商。就拿虚拟机来说吧,SUN公司的虚拟机确实一般,Oracle、BEA都有自己的虚拟机,但SUN公司确实虚拟机规范的制定者,这就是一个很好的例子。微软公司是一个注重系统、细节的公司,我觉得这样的公司才能开发出好的产品来。其实从中国汉字的象理来分析也是这样的,微软中有个微字,表示细小、细节注重微观。而SUN公司翻译成升阳,取其中的阳字,阳即太阳也,太阳是存在宏观的宇宙中的,SUN公司注重标准,架构也不足为奇了。好了,以上言论纯属胡扯,大家一笑了之,言归正传该说点有用的东西了。

二:就是他书中说的java.exe的运行目录。这个我是从中受到启发,对其观点不敢苟同。他的书说了很多我看也没看明白,我想算了还是我自己来吧。要想搞清楚java.exe的运行目录只需做下面的一个实验就明白了很简单的。在试验之前我说一下我的誓言环境,win XP sp1,jdk 1.6.0_04(再没有其他的java运行环境了如Oracle)。

1,修改D:\Java\jre1.6.0_04\bin目录下的java.exe为java1.exe,在cmd窗口中运行java命令.结果:正常。

 

2,修改D:\Java\jdk1.6.0_04\bin目录下的java.exe为java1.exe,在cmd窗口中运行java命令.结果:正常。

 

3,修改D:\Java\jdk1.6.0_04\jre\bin目录下的java.exe为java1.exe,在cmd窗口中运行java命令.结果:正常。

 

实验到这里怎么也许有的会疑惑怎么还能运行成功,难道其他的地方还有java.exe吗?其实在一个地方还有,在什么地方?就在C:\WINDOWS\system32 这里。修改这里java.exe为java1.exe 然后再运行java命令,结果出错。可能有些的试验结果不是这样的,那是可能是因为你们在PATH里面设置了java.exe的其他路径,检查下。因此我怀疑java.exe运行的命令就是这里面的。对此,有的人也说java虚拟机那么大,不会仅一个.exe文件的,其实她还有其他的.dll文件。这些文件在那里?是哪个jre?是jdk里面的吗?对此我们再做一个实验。在本实验之前,请把以前修改的改正过来。

 

修改D:\Java\jre1.6.0_04\bin里面的java.dll为java1.dll,在运行java命令,结果:出错。这个实验结果告诉我们什么?这个实验结果告诉我们java.exe运行所依赖的.dll就是这个目录所包含的。其实这里才是java.exe 的真正的根,c盘的是为了我们直接能运行java.exe在安装jre的时候复制进去的。

 

对了讲了这么多,哪么jdk里面的jre有什么作用呢?不会是用来浪费空间的吧?我个人认为jdk里面的jre是为了运行jdk里面的工具而加的。大家都知道jdk里面的很多开发工具都是用java写的,不过写好之后用包装器吧jre和jar文件包装成.exe文件。修改D:\Java\jdk1.6.0_04\jre\bin里面的java.dll为java1.dll然后到D:\Java\jdk1.6.0_04\bin执行javac命令,结果:正常。可能有的人会问为什么呢?其实呢,在我们的系统里面有两个jre,我转用的不能用了,为什么我不用公用的呢?因此我分析,能成功是因为他使用了公用的jre,如果我们把D:\Java\jre1.6.0_04\bin里面的java.dll改为java1.dll,再到D:\Java\jdk1.6.0_04\bin里面执行javac命令运行,结果:错误。由此判断出jdk里面的jre是jdk里面的工具专用的。当然也有特殊情况,例如你把jdk里面的jre的bin路径加到PATH里面,这样就暴露了这个私有的jre,这是如果没有公用的jre这个私有的jre就可能会被启用。jdk里面的jre的作用是保证jdk里面的工具能正常运行。

 

jdk就是java的开发工具包,jre就是java的一个运行环境。

 

时间过的可真快,正如那句话,一开机-关机一天过去了。

 

以上是我在试验的基础上得出的,感觉试验也可能有漏洞,如果有什么问题大家可以探讨一下。

 

邮箱:565445150@qq.com欢迎大家批评指正.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值