java 中JDK 和 JRE 有什么区别?

开发用JDK,运行用JRE。JDK包含JRE和开发工具,JRE包含JVM和类库,JDK⊃JRE⊃JVM,装JDK无需再装JRE。

JDKJRE 是 Java 开发和运行过程中两个核心概念,它们职责不同,适用场景也不同。

什么是 JRE?

Java Runtime Environment(Java 运行时环境),简称 JRE,是运行 Java 程序所必需的环境。它包含:
  • Java 虚拟机(JVM):负责执行编译后的字节码
  • 核心类库(如 java.lang、java.util 等):程序运行依赖的基础代码
  • 其他支持文件:资源文件、配置文件等
如果你只是想运行一个别人写好的 Java 程序(比如一个 .jar 文件),安装 JRE 就够了。

什么是 JDK?

Java Development Kit(Java 开发工具包),简称 JDK,是用于开发 Java 程序的完整工具集。它包含了 JRE 的所有内容,并额外提供了开发所需的工具,例如:
  • javac:Java 编译器,将 .java 源文件编译成 .class 字节码
  • java:启动 Java 程序的命令(来自 JRE)
  • jar:打包 Java 应用的工具
  • javadoc:生成 API 文档的工具
  • debugger、profiler 等开发辅助工具
如果你要编写、编译、调试 Java 程序,就必须安装 JDK。

两者关系总结

JDK 已经包含了 JRE,而 JRE 包含了 JVM。可以这样理解:
  • JDK ⊃ JRE ⊃ JVM
  • 装了 JDK,就不需要单独装 JRE(运行和开发都能满足)
  • 只装 JRE,只能运行程序,不能编译或开发
基本上就这些。简单说:开发用 JDK,运行用 JRE。现代开发通常直接安装 JDK,因为它更全面。