JVM和JRE之间的差异

时间:2014-01-19 15:06:25

标签: java compiler-construction jvm

我最近开始学习JAVA。我的老师告诉我,JVM的名称Virtual基本上不是以物理或软件(或你说的任何东西)的形式存在。据他说,JVM只是一个为不同平台开发JRE的规范文档。 JRE是JVM的真正实现,它完成了运行Bytecode等所有工作。

我自己做了一些搜索,但在任何地方找不到相同的东西。相反,很多人说JVM用于运行字节码,JRE提供运行时间。这非常令人不满意。

所以我想知道JVM和JRE之间的区别是什么。如果有一些来自oracle或sun microsystem的真实文档。然后提供链接

2 个答案:

答案 0 :(得分:5)

在发布这些类型的问题之前学习搜索。谷歌在很多方面都很有用:P

http://www.javabeat.net/what-is-the-difference-between-jrejvm-and-jdk/

JVM Java虚拟机(JVM)是​​运行Java字节码的虚拟机。 JVM不了解Java拼写错误,这就是为什么要编译* .java文件以获取包含JVM可理解的字节码的* .class文件的原因。它也是允许Java成为“可移植语言”的实体(只需编写一次,随处运行)。实际上,JVM的特定实现适用于不同的系统(Windows,Linux,MacOS,请参阅维基百科列表..),目的是使用相同的字节码,它们都会给出相同的结果。

JDK和JRE

要解释JDK和JRE之间的区别,最好阅读Oracle文档并参考图表:

Java运行时环境(JRE)Java运行时环境(JRE)提供库,Java虚拟机和其他组件,以运行用Java编程语言编写的applet和应用程序。此外,两个关键的部署技术是JRE的一部分:Java Plug-in,它使applet能够在流行的浏览器中运行;和Java Web Start,它通过网络部署独立应用程序。它也是用于企业软件开发和部署的Java 2平台企业版(J2EE)中的技术的基础。 JRE不包含用于开发applet和应用程序的工具和实用程序,如编译器或调试器。

Java开发工具包(JDK)JDK是JRE的超集,包含JRE中的所有内容,以及开发applet和应用程序所需的编译器和调试器等工具。

What is the difference between JVM, JDK, JRE & OpenJDK?

答案 1 :(得分:0)

你查了维基百科吗? http://en.wikipedia.org/wiki/Java_virtual_machine @See图片。 Java API和JVM一起组成了Java Runtime Environment(JRE)。