JDK、JRE 和 JVM 之间的差异。
javaobject oriented programmingprogramming更新于 2025/7/21 3:56:17
JDK、JRE 和 JVM 三个都是相互依赖的,没有共同点,因此以表格形式陈述它们之间的差异并不有效,但我们将在以下段落中讨论这些差异。
JVM
JVM 是 Java 虚拟机的缩写,它基本上是一种规范,它提供了一个运行时环境,可以在其中执行 Java 字节码,即它是抽象的,它的实现与选择算法无关,由 Sun 和其他公司提供。JVM 负责将字节码转换为机器特定的代码。它还可以运行那些用其他语言编写并编译为 Java 字节码的程序。JVM 执行上述任务:加载代码、验证代码、执行代码、提供运行时环境。
JRE
JRE 是 Java 运行时环境,它是 JVM 的实现,即实现 JVM 中定义的规范并为代码的执行创建相应的环境。JRE 主要包括 Java 二进制文件和其他类,用于像物理存在的 JVM 一样执行程序。除了 Java 二进制文件外,JRE 还包含各种部署技术、与执行代码交互的用户界面、一些用于不同功能的基础库以及基于语言和实用程序的库。
JDK
JDK 是 Java 开发工具包的缩写,它包含编译、调试和执行 Java 程序所需的所有工具、可执行文件和二进制文件。JDK 依赖于平台,即 Windows、Mac 和 Unix 系统有单独的安装程序。JDK 包括 JVM 和 JRE,完全负责代码执行。JDK 的版本代表 Java 的版本。
以下是 JDK、JRE 和 JVM 之间的重要区别
| Sr.序号 | 关键 | JDK | JRE | JVM |
|---|---|---|---|---|
| 1 | 定义 | JDK(Java Development Kit,Java开发工具包)是用Java开发应用程序的软件开发工具包。除了 JRE,JDK 还包含许多开发工具(编译器、JavaDoc、Java 调试器等)。 | JRE(Java 运行时环境)是 JVM 的实现,被定义为提供 Java 类库、Java 虚拟机(JVM)和其他组件以运行用 Java 编程编写的应用程序的软件包。 | JVM(Java 虚拟机)是一个依赖于平台的抽象机器,有三个概念:规范、描述 JVM 实现要求的文档、实现、满足 JVM 要求的计算机程序,以及实例,执行 Java 字节码的实现为执行 Java 字节码提供了运行时环境。 |
| 2 | 主要功能 | JDK 主要用于代码执行,具有开发的主要功能。 | 另一方面,JRE 主要负责用于创建代码执行环境。 | 另一方面,JVM 指定所有实现并负责将这些实现提供给 JRE。 |
| 3 | 平台独立性 | JDK 依赖于平台,即不同的平台需要不同的 JDK。 | 与 JDK 一样,JRE 也依赖于平台。 | JVM 独立于平台。 |
| 4 | 工具 | 由于 JDK 负责主要开发,因此它包含用于开发、调试和监控 Java 应用程序的工具。 | 另一方面,JRE 不包含编译器或调试器等工具。而是包含类库以及 JVM 运行程序所需的其他支持文件。 | JVM 不包含软件开发工具。 |
| 5 | 实施 | JDK = Java 运行时环境 (JRE) + 开发工具 | JRE = Java 虚拟机 (JVM) + 用于运行应用程序的库 | JVM = 用于执行 Java 字节码的唯一运行时环境。 |
相关文章
有用资源
java 参考教程 - 该教程包含有关 java 的更多信息:https://www.cainiaomax.com/java/

