JVM和JRE之间的差异

adh*_*ari 0 java compiler-construction jvm

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

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

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

Rit*_*itz 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和应用程序所需的编译器和调试器等工具.

JVM,JDK,JRE和OpenJDK有什么区别?