为什么有两套jre

ivybs 2007-10-09 05:53:12
JDK里面的工具也是用JAVA编写的,它们本身运行的时候也需要一套JRE,如C:\Program Files\Java\jdk1.5.x\目录下的JRE。而C:\Program Files\Java\目录下的JRE是用来执行我们自己编写的JAVA程序。当然,两套JRE中的任何一套都可以用来执行我们自己编写的JAVA程序,但是JDK里面的工具只能由C:\Program Files\Java\jdk1.5.x\目录下的JRE来执行。


也就是说
jdk(java development kit)是开发工具包,相当于是一个编译器。
jre(java runtime environment)是运行环境,相当于jvm虚拟机。jdk开发出来的java程序必须在jvm中运行,jre就提供了这么一个环境。

--------
上面是某人的解释,解释用了“只能”这个词。
仅仅是只能吗,jdk开发出来的程序也可以在jdk里的jre里执行的吧。
...全文
214 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
maitang_1 2007-10-10
  • 打赏
  • 举报
回复
顶bao110908
伍子V5 2007-10-10
  • 打赏
  • 举报
回复
建议看一下
JAVA深度历险
  • 打赏
  • 举报
回复
JDK 是一个开发环境,除了需要进行编译之外,还需要能运行,所以 JRE 包含的东西,它也就包含了。

再看看 JRE/bin 下没有 javac.exe,这就说明其是一个运行环境,而不是一个开发环境。

作为开发人员来说,只要安装一个 JDK 就可以了,而 JRE 可以不用安装!

Dan1980 的
“个人觉得JDK应该不是用JAVA写的,JDK工具也不是JAVA程序,不需要依赖JRE运行。”
________________________________________

JDK 和 JDK 的工具不是使用 Java 编写的那是肯定的,而 JDK 的工具基本上的字节数都很小,
其实其内部的工作机制是调用 JDK/lib/tools.jar 中的工具类而实现的,而这些工具类的 class
文件基本上也不是使用 Java 编译器生成的。而这些 tools.jar 调用需要使用到 JRE。
qiuqiupeng 2007-10-10
  • 打赏
  • 举报
回复
不跟你说啦,坏死了,
你看看两个是一样的么,闭着眼睛学java
问题还这么绕,让我看了几分钟×几遍
ivybs 2007-10-10
  • 打赏
  • 举报
回复
OK
ivybs 2007-10-10
  • 打赏
  • 举报
回复
管他是什么编写的。不管自己运行还是程序运行都用一个jre就行了。
之所以用两个包,为了分发方便。默认安装时装了两个jre,其实只要装一个就够了。
我这样对吗

Dan1980 2007-10-09
  • 打赏
  • 举报
回复
个人认为“某人的解释”值得怀疑。

“JDK里面的工具也是用JAVA编写的,它们本身运行的时候也需要一套JRE”这句话没有依据。
个人觉得JDK应该不是用JAVA写的,JDK工具也不是JAVA程序,不需要依赖JRE运行。

至于为什么有“两套JRE”,应该是为了分发方便而存在的。

jdk1.5.x目录是一个完整的开发包,其中包括一个JRE,可以做从开发到运行的所有工作。

jre1.5.x目录是一个纯运行包(比开发包小很多),这个包对开发人员来说意义不大,但对于JAVA程序的“用户”来说,有它就足够了。开发人员可以把自己的程序连同这个包一起交付,以保证用户可以运行JAVA程序。
red_berries 2007-10-09
  • 打赏
  • 举报
回复
帮顶
ivybs 2007-10-09
  • 打赏
  • 举报
回复
但是JDK里面的工具只能由C:\Program Files\Java\jdk1.5.x\目录下的JRE来执行。
为什么?
maitang_1 2007-10-09
  • 打赏
  • 举报
回复
你没理解清除人家写的吧,好好看看这两句话
两套JRE中的任何一套都可以用来执行我们自己编写的JAVA程序,
但是JDK里面的工具只能由C:\Program Files\Java\jdk1.5.x\目录下的JRE来执行。

没错的啊

62,623

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧