JVM, JDK, JRE和OpenJDK之间的区别是什么?
我在用Java编程时遇到了这些短语,它们之间有什么区别?
JVM, JDK, JRE和OpenJDK之间的区别是什么?
我在用Java编程时遇到了这些短语,它们之间有什么区别?
当前回答
JDK:你需要编写和运行java代码的完整包
OpenJDK:一个独立的JDK实现,使它变得更好
JVM:将Java代码转换为字节码,并提供说明如何编译、加载、验证、检查错误和执行Java代码的规范。
JRE: JVM的实现,一些Java库被用来运行程序
其他回答
JVM
JVM (Java虚拟机)是一种抽象机器。它是一个提供运行时环境的规范,在该环境中可以执行java字节码。 jvm可用于许多硬件和软件平台。
JRE
JRE是Java运行时环境的首字母缩写。它用于提供运行时环境。它是JVM的实现。它是物理存在的。它包含一组库+ JVM在运行时使用的其他文件。
JDK
JDK是Java Development Kit的首字母缩写。它是物理存在的。它包含JRE +开发工具。
链接:- http://www.javatpoint.com/difference-between-jdk-jre-and-jvm
简单的图片来说明JDK、JRE、JDK。
JDK一般来说,它只会安装在开发环境中,比如在开发人员中,在公司的实时QA系统中。在服务器上运行的原始代码将没有JDK。
JRE是JDK的一部分,也可以独立安装在服务器上。在处理用户请求的实时服务器中,只安装JRE和开发人员开发的代码(*.class格式)
JVM Developer开发的代码>在开发机器上测试和执行。执行阶段需要Java的媒介。
.class文件不是本地代码(cpu能理解的代码)。如果.java文件直接转换为本机代码,则无法实现WORA(一次编写,随处运行)的概念。
本机代码因操作系统而异。所以,Java创建了一个叫做。class的中间文件和一个叫做“JVM”的神奇程序。将.class转换为本机代码是JVM的职责。
JVM是Java虚拟机-它实际上运行Java字节码。
JRE是Java运行时环境——其中包含JVM,并且是运行Java程序所需要的。
JDK是Java开发工具包——它是JRE,但添加了javac(这是编译Java源代码所需的工具)和其他编程工具。
OpenJDK是一个特定的JDK实现。
JDK:你需要编写和运行java代码的完整包
OpenJDK:一个独立的JDK实现,使它变得更好
JVM:将Java代码转换为字节码,并提供说明如何编译、加载、验证、检查错误和执行Java代码的规范。
JRE: JVM的实现,一些Java库被用来运行程序
JVM是执行Java代码的虚拟机
JRE是运行Java应用程序所需的环境(标准库和JVM)
JDK是带有开发人员工具和文档的JRE
OpenJDK是一个开源版本的JDK,不像Oracle拥有的普通JDK