JR 精品文章 - JDK JRE Java虚拟机的关系--java深度历险笔记
AD: jr (at) javaresearch.org


首页 | 动态 | 文章 | FAQ  | 新闻 | 下载 | 代码 | 工作 | 调查 | 术语 | 站点 | 图书 | 论坛 | 帮助 | 全部  

TOP | 交流 | 软件 | 专栏 | 开源 | 译/著 | 源码 | API  | 推荐 | FTP  | 积分 | 统计 | 搜索 | Blog | 我们  
首页 » 研究文集 » Java入门 搜索标题相关文章 搜索标题相关文章    评论此文章 发表评论     开始监控此文章 开始监控   加入收藏夹  加入收藏夹
JDK JRE Java虚拟机的关系--java深度历险笔记
xinglongbing 整理   更新:2008-06-05 21:31:46  版本: 1.0   

JDK JRE Java虚拟机的关系。
安装JDK时一定会在其子目录下面安装一个JRE,同时在安装的过程也会询问你是否要安装一个外部的JRE。如果我们选择安装则就同时拥有了两个jre。这两个JRE其实本质上是没有任何分别的。最主要的区别在于:JDK目录里面的JRE主要是设计用来运行JDK自带的那些工具的(Bin目录下)。而外部的JRE在安装的时候会自动注册到操作系统的path里面一般是:System32文件夹下面。因此我们只要安装了外部的JRE则运行Java程序时都是用的外部JRE来运行的(系统的默认path具有优先)。
JVM只是JRE的一部分确切的说是JRE的一个动态链接库。
JDK里面的工具(Bin目录下的那些很小的.exe文件)几乎都是用Java编写的(都存放在JDK目录下面的lib文件夹中的tools.jar文件中),之所以是以.exe文件的形式出现是为了免于输入冗长的执行代码(java -classpath JDK_HOME\lib\tools.jar com.sun.tools.javac.Main)。此处的exe文件仅仅是一个包装器以方便用户的使用。很多软件最后都打包成exe文件就是一种包装器。因此这些包装器的运行其实最终都是去调用tools里面相应的Java字节码来运行因此都依赖于JRE所以在JDK内部才有一个JRE。
当我们电脑上安装了JBuilder等开发工具时它们都自带了自己的JDK,因此当我们运行Java程序的时候到底使用的哪一个JRE呢。这个是由java.exe文件来决定的。java.exe的作用就是找到相应的JRE来运行后面给出的.class文件。寻找逻辑如下:
首先在自己的目录下面查找JRE若没有找到,然后去父目录下查找,最后去Windows的注册表中(HKEY_LOCAL_MACHINE\Software\JavaSoft\Java Runtime Environment\)去找。而注册表中一般只有Client而没有Server虚拟机。所以输入
java -server时候会说找不到。当然找到JRE以后还有一个版本验证的过程,那就是验证java.exe和此JRE版本是否一致,假若我们运行的是jdk1.3版本的java.exe文件然后找到的是却是jdk1.4的jre程序就可能会出错。
我们在JRE/bin目录下面会看到有连个文件夹client和server。它们里面都会有一个jvm.dll文件这就是所谓的虚拟机。
在我们运行java.exe文件的时候我们要确定两个事情:
哪一个java.exe文件被执行,java.exe找到的是哪个JRE。
具体运行的是哪一个Java.exe主要取决于环境变量path的设置,对于Windows系统来说C:\Windows\System32是默认的。
因此我们再去添加指向我们安装的java.exe的环境变量时要注意与系统环境变量的先后关系。
path=D:\JDK_HOME\bin;C:\Windows\System32(优先运行JDK_HOME里面的java.exe)
和path=C:\Windows\System32;D:\JDK_HOME\bin;(优先运行系统目录下的java.exe文件)是不同的。因此当我们要想jre中(如ext目录)添加.jar文件时就要注意其匹配问题了。


版权声明  
本篇文章对您是否有帮助?  投票:         投票结果:     16       0
作者其它文章: 作者全部文章
评论人:yhp6666 发表时间: Fri Jun 13 17:23:09 CST 2008
中盟数据完美国际私服一条龙方案QQ97574666有时间就可以赚钱!
 

 中盟数据欢迎你!!!

首先,感谢您对我们的公司的支持, 我们公司的最终目标是能让消费者最大化的获取利益, 为了谋求长期的合作关系,为了让您的私服圆满的 开设成功,特此我为您整理出来一份<<完美一条龙的方案>>,供您参考. 

首先介绍一下,我们的私服一条龙都包括: 服务器+硬件防火墙+商业版服务端+配套专业型网站系统+国际顶级域名(.com)+登陆器制作+架设+游戏安全策略服务+版本修改+技术支持+售后。

更好的机房品质+专业的网游研发队伍+最贴心的售后服务+更低的业界价格=您的选择! 

为消费者解决开服的一切技术难题,让消费者所要作的就是作GM 管理和运营他的游戏. 

我们有专业的游戏研发制作队伍2.资深的机房技术工程师7*24小时技术维护3.完善的售后服务体系,7*24小时的售后跟踪服务。  
承诺:我们提供的不仅是版本,而是全面的售后技术支持,所有使用我们服务器和版本的客户保证开区成功,如果有因为DDOS或假人攻击导致  

更加详细的方案,请您 加我的QQ:97574666索取.版本与美服同步,保证业界内最新。

〓价格优惠,具体请联系我QQ咨询〓 
QQ:97574666   97574666
联系人:尹海鹏
联系方式0371-67028670-605
中盟数据中心官方网站:[url]www.zmidc.com[/url]
游戏网站:www.sf119.net
评论人:0505010218 发表时间: Tue Aug 19 12:56:59 CST 2008
写的很好啊.

这个文章共有 2 条评论
主题: swt编写的浏览器 上一篇文章
返回文章列表 返回〔Java入门〕
下一篇文章 主题: SWT制作下拉式ToolBar菜单代码


文字广告链接
        自主、快速定制基于JAVA的B/S业务系统          重量级企业在线自定义WEB报表平台
        Excel制表、零代码发布、打印、图表结合——快逸报表,免费、稳定、功能强大的java工具
        技术圈: 关于Java、dotNet、PHP、Ruby、奇客、Web2.0等更多资讯博客精选文章

关于 JR  |  版权声明  |  联系我们 

©2002-2006 JR 版权所有 沪ICP备05019622号