JDK附带的JRE与独立的JRE包含的JRE
的“独立JRE”(有时也被称为“公共JRE”)通常不包含HotSpot的服务器版本。它也缺乏JDK包含的工具(JavaDB,javac,tools.jar等)。
否则,运行时间是相同的。另外请注意,JDK可能会安装一个(或多个)JRE。
最后,所有上述注释都是针对Sun的Sun Java安装程序的。其他供应商和平台可能(有时也会)有所不同。
IIRC JDK版本的JRE中有更多调试信息。查看'rt.jar'的大小。还有像自动更新丢失的东西。 – 2010-03-29 22:48:28
查看,我想知道JDK的JRE中是否有调试的东西,但人们认为我为提到它而疯狂。 – Dave 2010-03-29 22:53:58
确实,我的jdk(7u6)刚刚安装了TWO jre!一个独立的(java/jre)和一个内部的jdk文件夹(java/jdk ../ jre)。甲骨文的信息(或者这里的任何人)对于“jdk包含jre”意味着一点点痛苦,但它可能是最后一个。 – 2012-08-15 15:08:14
没有区别(除非你有不同版本的JRE)。下面是从SUN/Oracle的官方定义:
http://java.sun.com/javase/6/docs/technotes/guides/index.html
JRE和JDK Sun Microsystems公司提供 两个主要软件产品在 的JavaTM平台,标准版 (的JavaTM SE)系列:
Java SE运行环境(JRE)
JRE提供了库,Java 虚拟机和其他组件 需要运行applets和 应用程序编写的Java 编程语言。此运行时间环境可以通过 应用程序重新分配,使它们可以独立使用,即 。
的Java SE开发工具包(JDK)
JDK包含了JRE加 命令行开发工具,如 编译器和所需要或开发 applet和应用程序 调试器。
@Kevin,'bn'指出'独立JRE'和'JDK包含的JRE'之间没有区别(这是原始问题) – 2010-03-29 21:28:14
所以另一个快速问题是:can你重新分配了JDK,还是只能提供JRE? – Dave 2010-03-29 22:56:23
“JDK”是Java开发工具包。 JDK是可用于开发基于Java的软件的一揽子软件。 “JRE”是Java运行时环境。 JRE是实际执行Java程序的Java虚拟机的实现。
通常,每个JDK包含的各种开发工具,如Java源代码编译器以及一个(或多个)JRE的,捆绑和部署工具,调试器,开发库等
如果针对独立JRE和JDK中包含的JRE运行二进制比较,它们是二进制不同的(至少在Windows版本中)。
rt.jar中的类数是相等的,但出于好奇,我在所有类中都运行了'javap',并对结果进行了比较。
我看到的唯一区别是,JDK verison具有类代码前行像“从“Serializable.java编译”。
我不认为这应该不会对终端用户产生任何影响,所以这些实际上,JRE的行为方式应该是一样的。
区别是合法的。 JDK用于开发,JRE用于执行。您可以将JRE与产品一起使用
您指的是哪个独立JRE? – 2010-03-29 21:13:28
您可以安装JDK(它随JRE一起提供,位于JDK安装位置的子文件夹中),也可以只安装JRE(即作为单独的下载和安装)。 – Dave 2010-03-29 22:58:09