JVM, JDK, JRE和OpenJDK之间的区别是什么?
我在用Java编程时遇到了这些短语,它们之间有什么区别?
JVM, JDK, JRE和OpenJDK之间的区别是什么?
我在用Java编程时遇到了这些短语,它们之间有什么区别?
当前回答
JVM: java的虚拟机。告诉机器用Java代码做什么。不能按原样下载JVM。它被打包在其他组件中。
JRE:上面提到的其他组件是JRE。 它是JVM+其他jar创建运行时环境
JDK:包含JRE(JRE又包含JVM)。获得JDK后,不需要分别安装JRE和JVM。它包含编译器,编译你的.java文件到.class文件
其他回答
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
JVM: java的虚拟机。告诉机器用Java代码做什么。不能按原样下载JVM。它被打包在其他组件中。
JRE:上面提到的其他组件是JRE。 它是JVM+其他jar创建运行时环境
JDK:包含JRE(JRE又包含JVM)。获得JDK后,不需要分别安装JRE和JVM。它包含编译器,编译你的.java文件到.class文件
另一个值得一提的方面是:
JDK (java开发工具包)
正如名称所示,您将需要它用于开发目的。
例如:一家软件公司会在他们的计算机中安装JDK,因为他们需要开发新的软件,其中包括编译和运行他们的Java程序。
因此我们可以说JDK = JRE + JVM。
JRE (java运行时环境)
运行Java程序需要它。你不能用它来编译Java程序。
例如:一个普通的计算机用户想要运行一些在线游戏,那么他的系统中就需要JRE来运行Java程序。
java虚拟机
你可能知道它运行字节码。它使Java平台独立,因为它执行你编译Java程序后得到的.class文件,而不管你是在Windows、Mac还是Linux上编译。
开放的JDK
就像我上面说的。现在JDK是由不同的公司制作的,其中一个是开源的,免费供公众使用的是OpenJDK,而其他一些是Oracle公司的jrocit JDK或IBM JDK。
然而,对于普通用户来说,它们可能都是一样的。
结论
如果你是一个Java程序员,你的系统中需要JDK,这个包将包括JRE和JVM,但如果你是一个喜欢玩在线游戏的普通用户,那么你只需要JRE,这个包中没有JDK。
换句话说,JDK是祖父,JRE是父亲,JVM是他们的儿子。
JVM是Java虚拟机-它实际上运行Java字节码。
JRE是Java运行时环境——其中包含JVM,并且是运行Java程序所需要的。
JDK是Java开发工具包——它是JRE,但添加了javac(这是编译Java源代码所需的工具)和其他编程工具。
OpenJDK是一个特定的JDK实现。
JVM是执行Java代码的虚拟机
JRE是运行Java应用程序所需的环境(标准库和JVM)
JDK是带有开发人员工具和文档的JRE
OpenJDK是一个开源版本的JDK,不像Oracle拥有的普通JDK