Java 简明教程
Difference Between JDK, JRE, and JVM
JDK、JRE 和 JVM 这三个都是相互依赖的。JDK 主要是面向开发人员来开发基于 Java 的应用程序的 Java Development Kit。JRE 是运行 Java 程序的 Java Runtime Environment。JDK 把 JRE 作为一个组成部分。JRE 也可以在一些不需要进行开发,只是需要运行基于 Java 的应用程序或执行 Java 程序的系统上单独安装。JVM 是一个规范,只要遵守规范,就可以有不同的实现。该规范可以在以下链接中找到: https://docs.oracle.com。JRE 是 JVM 的一个实现。
What is JDK?
JDK 是 Java Development Kit 的缩写,其中包括编译、调试和执行 Java 程序所需的所有工具、可执行文件和二进制文件。JDK 依赖于平台,即针对 Windows、Mac 和 Unix 系统有单独的安装程序。JDK 包含 JVM 和 JRE,并且完全负责代码执行。它是表示 version of Java 的 JDK 的版本。
What is JRE?
JRE 是 Java Runtime Environment ,它是 JVM 的实现,即实现 JVM 中定义的规范并为代码执行创建相应的环境。 JRE 主要包含 Java 二进制文件和其他类来执行程序,如物理存在的 JVM。除了 Java 二进制文件,JRE 还包含各种部署技术、用于与已执行代码交互的用户界面、用于不同功能的一些基本库以及语言和 util-based libraries 。
What is JVM?
JVM 是 Java Virtual Machine 的简称,是一个规范,提供了一个可以在其中执行 Java 字节码的运行时环境。它本身是抽象的,它的实现与选择的算法无关,并且是由 Sun 和其他公司提供的。JVM 负责将字节码转换为特定于机器的代码。它还可以运行用其他语言编写并编译为 Java 字节码的程序。JVM 执行以下任务:加载代码、验证代码、执行代码和提供运行时环境。
Difference between JDK, JRE, and JVM
以下是 JDK、JRE 和 JVM 之间的重要区别:
Sr. No. |
Key |
JDK |
JRE |
JVM |
1 |
Definition |
JDK(Java Development Kit)是用于开发 Java 应用程序的软件开发工具包。除了 JRE,JDK 还包含许多开发工具(编译器、JavaDoc、Java Debugger 等)。 |
JRE(Java Runtime Environment)是 JVM 的实现,被定义为提供 Java 类库的软件包,以及 Java Virtual Machine (JVM) 和其他组件来运行用 Java 编程语言编写的应用程序。 |
JVM(Java Virtual Machine)是平台相关的抽象机器,有三种概念,即规范(描述 JVM 实现要求的文件)、实现(满足 JVM 要求的计算机程序)和实例(执行 Java 字节码的实现,提供运行 Java 字节码的运行时环境)。 |
2 |
Prime functionality |
JDK 主要用于代码执行,并且具有主要的开发功能。 |
另一方面,JRE 主要负责创建代码执行环境。 |
另一方面,JVM 指定所有实现,并负责将这些实现提供给 JRE。 |
3 |
Platform Independence |
JDK 是平台相关的,这意味着不同的平台需要不同的 JDK。 |
与 JDK 一样,JRE 也是平台相关的。 |
JVM is platform independent. |
4 |
Tools |
由于 JDK 负责主要开发,因此它包含用于开发、调试和监控 Java 应用程序的工具。 |
另一方面,JRE 不包含编译器或调试器等工具。相反,它包含 JVM 运行程序所需的类库和其他支持文件。 |
JVM 不包括软件开发工具。 |
5 |
Implementation |
JDK = Java Runtime Environment (JRE) + 开发工具 |
JRE = Java Virtual Machine (JVM) + 运行应用程序所需的库 |
JVM = 仅用于执行 Java 字节码的运行时环境。 |