JDK(Java Development Kit)和 JRE(Java Runtime Environment)是 Java 平台中的两个核心组件,它们之间是包含与被包含的关系。
✅ 一、JDK 与 JRE 的定义和关系图
🔹 JDK(Java 开发工具包)
用于开发、编译、调试和运行 Java 程序的完整开发工具包。
🔹 JRE(Java 运行环境)
用于运行 Java 程序的最小运行环境,包含 JVM 和 Java 核心类库。
✅ 简单关系图:
┌─────────────┐
│ JDK │ ← 包含开发工具(javac、javadoc 等)
│ ┌─────────┐ │
│ │ JRE │ │ ← 包含运行环境
│ │ ┌─────┐ │ │
│ │ │ JVM │ │ │ ← Java虚拟机
│ │ └─────┘ │ │
│ └─────────┘ │
└─────────────┘
✅ 二、详细组成对比
组件 | 是否包含在 JDK 中 | 是否包含在 JRE 中 | 说明 |
---|---|---|---|
JVM(Java Virtual Machine) | ✅ | ✅ | Java 字节码的执行引擎 |
Java 核心类库(rt.jar 等) | ✅ | ✅ | Java 运行所需基础类 |
java、javac、javadoc、jdb 等工具 | ✅ | ❌ | 仅 JDK 提供编译和调试工具 |
jar、javap、jps、jstack 等工具 | ✅ | ❌ | 常用开发命令行工具 |
JRE | ✅ | 本身 | JDK 中包含了完整的 JRE |
✅ 三、你应该如何选择?
目的 | 应选择 |
---|---|
只运行 Java 应用程序 | 安装 JRE 即可(JDK 过重) |
开发 Java 应用程序 | 安装 JDK(包含 JRE) |
注意:从 JDK 11 起,Oracle 官方已不再单独提供 JRE 下载,JDK 中已默认包含运行环境。
✅ 四、小结一句话
JDK ⊃ JRE ⊃ JVM:
JDK 包含 JRE,JRE 包含 JVM。开发用 JDK,运行用 JRE。