JDK 和 JRE 在 Java 平台中各自的组成和用途是什么?它们之间的主要区别有哪些?
考察说明
考查对 Java 运行时环境与开发工具包基本组成及职责的区分能力。
回答思路
- 【回答框架 1】JRE 是 Java 运行时环境,包含 JVM、核心类库和支持文件,用于运行已编译的 Java 程序。JDK 是 Java 开发工具包,包含 JRE 的全部内容,并额外提供编译器 javac、调试器等开发工具。
- 【回答框架 2】JDK 面向开发者,用于编写、编译和调试 Java 代码;JRE 面向普通用户,仅提供运行 Java 程序所需环境。JDK 是 JRE 的超集,安装 JDK 即可同时获得 JRE。
- 【回答框架 3】从功能上看,没有 JDK 的编译工具就无法将源代码编译成字节码,因此开发必须依赖 JDK;运行环境只需 JRE,但现代 JDK 通常自带 JRE,日常部署也可使用更精简的 JRE。
- 【回答框架 4】在版本演进中,JDK 的模块化(如 Java 9 引入的模块系统)使得运行时可以裁剪,但开发与运行职责的层级关系保持不变。
- 【回答框架 5】实际中,配置 JAVA_HOME 应指向 JDK 安装目录,以确保开发工具可见;若只运行程序,可仅依赖 JRE,但注意区分两者安装路径。
- 【关键点 1】JRE 包含 JVM 和核心类库,仅支持运行程序。
- 【关键点 2】JDK 包含 JRE 以及编译、调试等开发工具,是 JRE 的超集。
- 【关键点 3】JDK 用于开发,JRE 用于运行,安装 JDK 即可同时获得 JRE。
- 【易错点 1】误认为 JRE 具有编译功能,导致无法编译代码。
- 【易错点 2】混淆 JDK 与 JRE 的目录结构,配置环境变量时指向错误路径。
- 【易错点 3】忽略 JRE 也可独立安装,但仅适合运行场景。