2010-03-29 145 views
28

包含在JDK中的JRE(位于jre文件夹内)和独立的JRE之间有什么区别?有没有?JDK附带的JRE与独立的JRE包含的JRE

+0

您指的是哪个独立JRE? – 2010-03-29 21:13:28

+2

您可以安装JDK(它随JRE一起提供,位于JDK安装位置的子文件夹中),也可以只安装JRE(即作为单独的下载和安装)。 – Dave 2010-03-29 22:58:09

回答

25

的“独立JRE”(有时也被称为“公共JRE”)通常不包含HotSpot的服务器版本。它也缺乏JDK包含的工具(JavaDB,javac,tools.jar等)。

否则,运行时间是相同的。另外请注意,JDK可能会安装一个(或多个)JRE。

最后,所有上述注释都是针对Sun的Sun Java安装程序的。其他供应商和平台可能(有时也会)有所不同。

+3

IIRC JDK版本的JRE中有更多调试信息。查看'rt.jar'的大小。还有像自动更新丢失的东西。 – 2010-03-29 22:48:28

+2

查看,我想知道JDK的JRE中是否有调试的东西,但人们认为我为提到它而疯狂。 – Dave 2010-03-29 22:53:58

+0

确实,我的jdk(7u6)刚刚安装了TWO jre!一个独立的(java/jre)和一个内部的jdk文件夹(java/jdk ../ jre)。甲骨文的信息(或者这里的任何人)对于“jdk包含jre”意味着一点点痛苦,但它可能是最后一个。 – 2012-08-15 15:08:14

16

没有区别(除非你有不同版本的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和应用程序 调试器。

+1

@Kevin,'bn'指出'独立JRE'和'JDK包含的JRE'之间没有区别(这是原始问题) – 2010-03-29 21:28:14

+1

所以另一个快速问题是:can你重新分配了JDK,还是只能提供JRE? – Dave 2010-03-29 22:56:23

0

“JDK”是Java开发工具包。 JDK是可用于开发基于Java的软件的一揽子软件。 “JRE”是Java运行时环境。 JRE是实际执行Java程序的Java虚拟机的实现。

通常,每个JDK包含的各种开发工具,如Java源代码编译器以及一个(或多个)JRE的,捆绑和部署工具,调试器,开发库等

1

如果针对独立JRE和JDK中包含的JRE运行二进制比较,它们是二进制不同的(至少在Windows版本中)。

rt.jar中的类数是相等的,但出于好奇,我在所有类中都运行了'javap',并对结果进行了比较。

我看到的唯一区别是,JDK verison具有类代码前行像“从“Serializable.java编译”。

我不认为这应该不会对终端用户产生任何影响,所以这些实际上,JRE的行为方式应该是一样的。

1

区别是合法的。 JDK用于开发,JRE用于执行。您可以将JRE与产品一起使用