JDK、JRE 和 JVM 的区别

2025年4月25日 | 阅读 4 分钟

在进一步学习 Java 之前,我们必须了解 JDK、JRE 和 JVM 之间的区别。在此处查看 JVM 的简要概述。

如果您想详细了解 Java 虚拟机,请转到下一页。首先,让我们看看 JDK、JRE 和 JVM 之间的区别。


JVM

JVM(Java 虚拟机)是一个抽象的机器。它之所以被称为虚拟机,是因为它并不实际存在。它是一个规范,提供了一个 Java 字节码可以执行的运行时环境。它还可以运行用其他语言编写并编译成 Java 字节码的程序。

JVM 有多种硬件和软件平台版本。JVM、JRE 和 JDK 都是平台相关的,因为每个 操作系统 的配置都与其他不同。然而,Java 是平台无关的。JVM 有三个概念:规范实现实例

JVM 执行以下主要任务

  • 加载代码
  • 验证代码
  • 执行代码
  • 提供运行时环境

阅读更多 JVM 架构

JRE

JRE 是 Java 运行时环境的缩写。它也写成 Java RTE。Java 运行时环境是一组用于开发 Java 应用程序的软件工具。它用于提供运行时环境。它是 JVM 的实现。它实际存在。它包含一组 JVM 在运行时使用的库和其他文件。

除了 Sun Microsystems,其他公司也在积极发布 JVM 的实现。

JRE

JDK

JDK 是 Java Development Kit 的缩写。Java Development Kit (JDK) 是一个用于开发 Java 应用程序和 小程序 的软件开发环境。它实际存在。它包含 JRE + 开发工具。

JDK 是 Oracle Corporation 发布的一个或多个以下 Java 平台的实现

  • 标准版 Java 平台
  • 企业版 Java 平台
  • 微型版 Java 平台

JDK 包含一个私有的 Java 虚拟机 (JVM) 和一些其他资源,例如解释器/加载器 (java)、编译器 (javac)、归档器 (jar)、文档生成器 (Javadoc) 等,以完成 Java 应用程序的开发。

阅读更多 JDK

JDK

JDK 与 JRE 与 JVM

特性JDKJREJVM
定义Java Development Kit (JDK) 是一个用于开发 Java 应用程序的软件开发工具包。Java Runtime Environment (JRE) 是一个软件包,它提供 Java 虚拟机 (JVM)、类库和其他组件来运行 Java 应用程序。Java Virtual Machine (JVM) 是一个抽象的机器,它为 Java 字节码的执行提供了一个环境。
函数提供开发 Java 应用程序的工具。它包括编译器 (javac)、JRE 和调试工具。它提供了一个执行 Java 应用程序的环境。它包括 JVM 和运行 Java 程序所需的库,但不包括开发工具。运行编译器生成的字节码的虚拟机。它是 JRE 的一部分,并且是平台相关的,但提供了平台无关的执行环境。
用例由开发人员用于编写、编译和调试 Java 程序。由最终用户使用,无需开发工具即可运行 Java 应用程序。将字节码转换为机器代码并在底层硬件上执行。
平台依赖性它是平台相关的。它是平台相关的。它是平台相关的。
实施JDK = JRE + 开发工具JRE = JVM + 类库JVM = 提供运行时环境。

JDK、JRE 和 JVM 选择题

1. Java 生态系统中哪个组件负责提供类库、Java 虚拟机 (JVM) 和其他组件来运行 Java 编写的应用程序?

  1. JDK
  2. JRE
  3. JVM
  4. JCL
 

答案:B

解释: Java 运行时环境 (JRE) 提供了运行 Java 应用程序所需的类库、JVM 和其他组件。它不包含编译器和调试器等开发工具,这些是 JDK 的一部分。


2. Java Development Kit (JDK) 的主要目的是什么?

  1. 运行 Java 应用程序
  2. 提供开发 Java 应用程序的环境
  3. 将 Java 字节码解释为机器代码
  4. 将 Java 字节码编译为本地代码
 

答案:B

解释: JDK (Java Development Kit) 包括 JRE (Java Runtime Environment) 以及 Java 编译器 (javac)、调试器和其他用于开发 Java 应用程序的工具。它提供了编写、编译和调试 Java 程序所需的一切。


3. 关于 JDK、JRE 和 JVM 之间的关系,以下哪个陈述是正确的?

  1. JDK 包括 JRE,而 JRE 包括 JVM。
  2. JVM 包括 JDK,而 JDK 包括 JRE。
  3. JRE 包括 JDK,而 JDK 包括 JVM。
  4. JDK 包括 JVM,而 JVM 包括 JRE。
 

答案:A

解释: JDK (Java Development Kit) 包括 JRE (Java Runtime Environment),而 JRE 包括 JVM (Java Virtual Machine)。JVM 是执行 Java 字节码的核心组件。


4. JDK 提供的但 JRE 不提供的工具是什么?

  1. JVM
  2. javac
  3. java
  4. javaw
 

答案:B

解释: javac 工具是 Java 编译器,由 JDK 提供但 JRE 不提供。JDK 包括编写和编译 Java 应用程序所需的开发工具,而 JRE 只包括运行 Java 应用程序所需的工具。


5. JVM 在 Java 执行过程中起什么作用?

  1. 它为 Java 程序员提供开发环境。
  2. 它将 Java 源代码转换为字节码。
  3. 它解释并执行 Java 字节码。
  4. 它为操作系统管理内存分配。
 

答案:C

解释: JVM (Java Virtual Machine) 解释并执行 Java 字节码。它提供了一个 Java 字节码可以执行的运行时环境,使得 Java 应用程序具有平台独立性。JVM 负责内存管理和垃圾回收等任务。