JVM, JDK, JRE和OpenJDK之间的区别是什么?
我在用Java编程时遇到了这些短语,它们之间有什么区别?
JVM, JDK, JRE和OpenJDK之间的区别是什么?
我在用Java编程时遇到了这些短语,它们之间有什么区别?
当前回答
Java虚拟机(JVM)是可以执行Java字节码的虚拟机。它是Java软件平台的代码执行组件。
Java开发工具包(JDK)是Oracle公司针对Java开发人员的产品。自Java引入以来,它一直是迄今为止使用最广泛的Java软件开发工具包(SDK)。
Java运行时环境,也被称为Java运行时、运行时环境
OpenJDK (Open Java Development Kit)是Java编程语言的免费开源实现。这是太阳微系统公司在2006年开始努力的结果。该实现是根据GNU通用公共许可证(GPL)许可的,有一个链接例外。
其他回答
简单的图片来说明JDK、JRE、JDK。
JDK一般来说,它只会安装在开发环境中,比如在开发人员中,在公司的实时QA系统中。在服务器上运行的原始代码将没有JDK。
JRE是JDK的一部分,也可以独立安装在服务器上。在处理用户请求的实时服务器中,只安装JRE和开发人员开发的代码(*.class格式)
JVM Developer开发的代码>在开发机器上测试和执行。执行阶段需要Java的媒介。
.class文件不是本地代码(cpu能理解的代码)。如果.java文件直接转换为本机代码,则无法实现WORA(一次编写,随处运行)的概念。
本机代码因操作系统而异。所以,Java创建了一个叫做。class的中间文件和一个叫做“JVM”的神奇程序。将.class转换为本机代码是JVM的职责。
通俗来说:JDK = JRE +开发/调试工具,其中JDK是我们与Java一起工作的完整包,从创建编译到运行它。另一方面,JRE只是代码(字节码)的运行。
注意:-无论我们是安装JDK还是JRE, JVM都会与这两个包捆绑在一起,JVM是JIT编译器将字节代码转换为机器特定代码的部分。
只需阅读关于JDK、JRE、JVM和JIT的文章即可
JVM:这实际上意味着字节码解释器。它依赖于平台。例如:在Windows平台上,'java.exe'或'javaw.exe'进程是jvm进程。
JDK:是一个包含开发和执行java程序/应用程序所必需的库和实用程序的工具包
JRE: java应用程序的执行环境。即,它只支持运行时依赖,包括JVM编译程序。如果我们想编译一个java程序,我们需要jdk。
JRE执行应用程序,但JVM逐行读取指令,因此它是解释器。
JDK = JRE +开发工具
JRE = JVM +库类
JDK (Java Development Kit):
包含开发Java程序所需的工具。 如果您想编写自己的程序并编译它们,则需要JDK。 JDK主要针对java开发。
JRE (Java Runtime Environment)
Java运行时环境包含JVM、类库和其他支持文件。 JRE的目标是执行Java文件。
JVM (Java虚拟机)
JVM根据底层操作系统和硬件组合将字节码解释为机器码。它负责所有的事情,比如垃圾收集、数组边界检查等等……Java虚拟机提供了一种平台独立的代码执行方式。