JVM, JDK, JRE和OpenJDK之间的区别是什么?
我在用Java编程时遇到了这些短语,它们之间有什么区别?
JVM, JDK, JRE和OpenJDK之间的区别是什么?
我在用Java编程时遇到了这些短语,它们之间有什么区别?
当前回答
JDK:你需要编写和运行java代码的完整包
OpenJDK:一个独立的JDK实现,使它变得更好
JVM:将Java代码转换为字节码,并提供说明如何编译、加载、验证、检查错误和执行Java代码的规范。
JRE: JVM的实现,一些Java库被用来运行程序
其他回答
JDK (Java Development Kit):
包含开发Java程序所需的工具。 如果您想编写自己的程序并编译它们,则需要JDK。 JDK主要针对java开发。
JRE (Java Runtime Environment)
Java运行时环境包含JVM、类库和其他支持文件。 JRE的目标是执行Java文件。
JVM (Java虚拟机)
JVM根据底层操作系统和硬件组合将字节码解释为机器码。它负责所有的事情,比如垃圾收集、数组边界检查等等……Java虚拟机提供了一种平台独立的代码执行方式。
JVM:描述运行java程序的方式/资源的规范。实际执行字节代码,使java平台独立。在这个过程中,不同的平台是不同的。windows的JVM不能像UNIX的JVM那样工作。
JRE: JVM的实现。(JVM +运行时库)
JDK: JRE + java编译器等基本工具,从零开始构建java程序
总而言之:
JRE = JVM + Java包(如util, math, lang, awt, swing等)+ 运行时库 JDK = JRE +开发/调试工具
如果你想用java开发,你需要JDK,但如果你只想运行java,你需要JRE。
JDK -将java编译为字节码。由调试器,编译器等组成。
javac file.java // Is executed using JDK
JVM——执行字节代码。JVM使java平台独立。但是JVM因平台而异。
JRE - JVM与java运行时库一起执行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