JVM, JDK, JRE和OpenJDK之间的区别是什么?

我在用Java编程时遇到了这些短语,它们之间有什么区别?


当前回答

JRE执行应用程序,但JVM逐行读取指令,因此它是解释器。

JDK = JRE +开发工具

JRE = JVM +库类

其他回答

JRE执行应用程序,但JVM逐行读取指令,因此它是解释器。

JDK = JRE +开发工具

JRE = JVM +库类

Java虚拟机(JVM)是可以执行Java字节码的虚拟机。它是Java软件平台的代码执行组件。

Java开发工具包(JDK)是Oracle公司针对Java开发人员的产品。自Java引入以来,它一直是迄今为止使用最广泛的Java软件开发工具包(SDK)。

Java运行时环境,也被称为Java运行时、运行时环境

OpenJDK (Open Java Development Kit)是Java编程语言的免费开源实现。这是太阳微系统公司在2006年开始努力的结果。该实现是根据GNU通用公共许可证(GPL)许可的,有一个链接例外。

JDK -将java编译为字节码。由调试器,编译器等组成。

javac file.java // Is executed using JDK

JVM——执行字节代码。JVM使java平台独立。但是JVM因平台而异。

JRE - JVM与java运行时库一起执行java程序。

JVM是执行Java代码的虚拟机

JRE是运行Java应用程序所需的环境(标准库和JVM)

JDK是带有开发人员工具和文档的JRE

OpenJDK是一个开源版本的JDK,不像Oracle拥有的普通JDK

JDK (Java Development Kit):

包含开发Java程序所需的工具。 如果您想编写自己的程序并编译它们,则需要JDK。 JDK主要针对java开发。

JRE (Java Runtime Environment)

Java运行时环境包含JVM、类库和其他支持文件。 JRE的目标是执行Java文件。

JVM (Java虚拟机)

JVM根据底层操作系统和硬件组合将字节码解释为机器码。它负责所有的事情,比如垃圾收集、数组边界检查等等……Java虚拟机提供了一种平台独立的代码执行方式。