java配置环境中jdk和jre
来源:互联网 发布:爱淘宝怎么看返利多少 编辑:程序博客网 时间:2024/05/05 15:14
JDK = Java Development Kit 开发套件
JRE = java runtime environment 运行环境,里面包含了jvm虚拟机以及各种运行库
安装jdk完了之后又会弹出选择让我们安装jre,比如安装了jdk6之后又会安装一个jre6,安装完毕后配置环境,运行java程序成功。
但是我在jdk6目录下面也找到了一个jre的目录,点进去看,和java目录下的jre6基本是一样的,为什么sun要让我们在一台机器上装两个jre呢,而且看起来好像是一样的程序。
然后上网搜一下,得到答案:
JDK中大部分程序都是用java写的,他们的运行本身就是需要java运行环境的,所以说,要运行jdk必须要有jre,故jdk中的jre不难理解了。而且,jdk中的jre和jre6目录中的运行环境基本相同,都能拿来运行java程序。那执行java.exe操作之后,到底是用了系统中的哪一个jre呢,按照网上的说法:
既然您的電腦裡頭至少有兩套 JRE ,那麼誰來決定用哪一套 JRE 呢 ? 這個重
責大任就落在 java.exe 的身上。
當我們在命令列輸入
java XXX
的時候, java.exe 的工作就是找到合適的 JRE 來執行類 別 檔。 java.exe 依照底
下邏輯來尋找 JRE:
1. 自己的目錄下有 沒 有 JRE 目錄。 ( 這個部分這樣 說 並不是非常精確,原因
請詳見 JDK 原始碼,這此不特 別說 明 )
2. 父目錄底下 JRE 子目錄。(我测试了一下运行ava程序没有优先搜索它,疑惑)
3. 查詢 Windows
Registry( HKEY_LOCAL_MACHINE\Software\JavaSoft\Java
Runtime Environment\ ) 。
所以, java.exe 的執行結果和您電腦裡面哪一個 java.exe 被執行,然後哪一
套 JRE 被拿來執行 Java 應用程式有莫大的關係。
按这样说,只要安装了jdk,每次运行java用的都是jdk中jre里面的运行环境了,但是我把jre6目录重命名之后运行java程序,报错,找不到jre6目录,
这就说明这个优先次序不对,于是我找到注册表项
HKEY_LOCAL_MACHINE\Software\JavaSoft\JavaRuntime Environment\
目录下的这几个值是确定的关键:
也就说,javahome项确定了java运行用jre的目录,于是我把这个值改成jdk目录下的jre目录,下面的runtimelib相应修改,
然后将jre6文件夹改名,再次运行java程序,正常运行。
这样就可以确定,运行一般java程序时,如果目录下没有jre文件夹,就是查找这个注册表项去决定需要的jre
至于sun为什么要给你安装多个jre,我觉得是为了各自分担任务,jdk就使用自己目录下的jre,而一般java程序就用jre6目录下的运行环境,这样互不干扰,能减轻各自jvm的负担,更加稳定。
- java配置环境中jdk和jre
- Java相关环境配置(1)----JDK&JRE
- myeclips中jdk和jre配置
- Java中jre和jdk的区别
- Java中jre 和 jdk 的区别
- JAVA中JDK和JRE的区别
- java语言学习003_开发环境基础配置和安装(jdk,jre,eclipse&myeclipse)
- java的开发环境jdk和运行环境jre
- 搭建Java环境JDK,和运行环境JRE
- java jdk和jre
- java jre和jdk
- Myeclipse为Java Project配置JRE(或者JDK)环境
- Windows系统 配置Java开发环境 JDK与JRE
- 安装jdk,jre及配置java运行环境
- java开发和运行环境(JDK 和JRE)
- JAVA开发和运行环境之JRE和JDK
- java3----java环境---jdk,jre(3)-----jdk和jre的理解3
- MyEclipse中如何设置 jdk 和 jre 编译运行环境
- OpenCV 解决没有找到tbb_debug.dll
- 长白山旅游
- java.lang.OutOfMemoryError: GC overhead limit exceeded解决
- x86 机器码学习笔记
- C++构造函数使用方法
- java配置环境中jdk和jre
- 华为群面失败回顾。记录是为了更好地思考
- More Divisors----反素数
- android 用MyEclipse开发时LogCat不显示控制台信息解决办法
- linux&& app 的积累
- MyEclipse Swing/Matisse 开发向导
- TCP/IP传输层
- struts2.2+hibernate3.2+spring2.5整合所需要的包
- TCP/IP网络层