JRE包含在JDK与独立JRE之间

时间:2010-03-29 21:12:30

标签: java

JDK(位于jre文件夹内)的JRE与独立JRE之间的区别是什么?有没有?

5 个答案:

答案 0 :(得分:25)

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

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

最后,所有上述说明都与Sun的Windows Java安装程序有关。其他供应商和平台可能(有时确实)有所不同。

答案 1 :(得分: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库   虚拟机和其他组件   你需要运行applet和   用Java编写的应用程序   编程语言。这个运行时   环境可以重新分配   制作它们的应用程序   自由站立。

     

Java SE Development Kit(JDK)

     

JDK包括JRE plus   命令行开发工具如   编译器和调试器   发展的必要或有用   小应用程序和应用程序。

答案 2 :(得分:2)

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

rt.jar中的班级数相等,但出于好奇,我在两个班的所有班级都运行'javap'并比较结果。

我看到的唯一区别是JDK verison在类代码之前有类似'Compiled from“Serializable.java'的行。

我认为这不会对最终用户产生任何影响,因此这些JRE实际上应该以相同的方式运行。

答案 3 :(得分:1)

区别是合法的。 JDK用于开发,JRE用于执行。您可以在产品中加入JRE

答案 4 :(得分:0)

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

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