JDK 和 JRE 和 JVM 分别是什么,有什么区别?

最后更新:1/13/2026

AI 助手

会员专享功能

只有会员才能使用 AI 生成答案功能。 立即升级

Other Answers (1)

Generated by DeepSeek V3

JDK、JRE 和 JVM 的区别与联系

1. JVM (Java Virtual Machine, Java虚拟机)

  • 定义: JVM 是执行 Java 字节码的虚拟计算机
  • 功能:
    • 加载字节码(.class文件)
    • 验证字节码
    • 执行字节码
    • 提供运行时环境
  • 特点:
    • "一次编写,到处运行"的关键
    • 平台相关(不同操作系统需要不同JVM实现)
    • 内存管理(垃圾回收)

2. JRE (Java Runtime Environment, Java运行环境)

  • 定义: Java程序运行所需的环境
  • 包含:
    • JVM
    • 核心类库(如java.lang, java.util等)
    • 其他支持文件
  • 用途:
    • 运行已编译的Java程序
    • 不包含开发工具(如编译器)

3. JDK (Java Development Kit, Java开发工具包)

  • 定义: Java开发的全套工具
  • 包含:
    • JRE
    • 开发工具(如javac, javadoc, jdb等)
    • 额外的类库(开发专用)
  • 用途:
    • 开发Java应用程序
    • 编译Java源代码

三者关系图示

ini
JDK = JRE + 开发工具
JRE = JVM + 核心类库

实际应用场景

  • 普通用户: 只需要JRE来运行Java程序
  • 开发者: 需要JDK来开发Java程序
  • 系统管理员: 可能需要关注JVM调优参数

代码示例

java
// 使用JDK中的javac编译此文件
public class HelloWorld {
    public static void main(String[] args) {
        // 使用JRE中的System类
        System.out.println("Hello, World!");
    }
}

总结对比表

组件 全称 包含内容 主要用途 目标用户
JVM Java虚拟机 字节码执行引擎 执行Java字节码 所有Java用户
JRE Java运行环境 JVM + 核心类库 运行Java程序 终端用户
JDK Java开发工具包 JRE + 开发工具 开发Java程序 开发者

理解这三者的区别对于Java开发者和系统管理员来说非常重要,特别是在环境配置和问题排查时。