当前位置: 首页 > news >正文

Java的JDK、JRE、JVM关系与作用

Java的JDK、JRE、JVM关系与作用

java中的JDK、JRE和JVM是三个核心组件,各自承担不同角色,且存在层级依赖关系

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

  • 是什么
    JVM是虚拟的计算机,能够执行编译后的Java字节码(.class文件)。它是Java跨平台能力的核心。
  • 作用
    • 解释或编译字节码为机器码(通过JIT编译器)。
    • 管理内存(如垃圾回收)。
    • 提供运行时环境,隔离底层操作系统差异。
  • 特点
    • 平台相关:不同操作系统需要对应的JVM实现。
    • 无需独立安装:作为JRE的一部分存在。

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

  • 是什么
    JRE是运行Java程序的最小环境,包含JVM和基础类库(如java.langjava.util等)。
  • 作用
    • 提供运行Java应用所需的依赖(类库、JVM等)。
    • 用户只需安装JRE即可运行已编译的Java程序。
  • 特点
    • 不包含开发工具(如编译器、调试器)。
    • 通常作为JDK的子集存在,也可单独安装。

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

  • 是什么
    JDK是Java开发的核心工具集,包含JRE及开发工具(如编译器、调试器)。
  • 作用
    • 编译源代码(javac命令生成.class文件)。
    • 打包应用(jar工具)、生成文档(javadoc)、调试(jdb)等。
    • 运行程序(通过内嵌的JRE)。
  • 特点
    • 面向开发者:必须安装JDK才能编写和构建Java程序。
    • 包含JRE:因此无需单独安装JRE即可运行程序。

三者的关系

  1. 层级包含
    JDK ⊃ JRE ⊃ JVM
    • 安装JDK时,会同时安装JRE和开发工具。
    • 安装JRE时,会包含JVM和核心类库。
  2. 协作流程
    • 开发阶段:使用JDK中的javac编译.java文件为.class字节码。
    • 运行阶段:通过JRE中的java命令启动JVM,加载并执行字节码。
  3. 用户场景
    • 开发者:需安装JDK(包含JRE和工具)。
    • 终端用户:只需安装JRE即可运行程序(但现代Java分发通常建议直接安装JDK以获得更新支持)。

图示关系

JDK(开发工具包)
│
├── JRE(运行时环境)
│   │
│   ├── JVM(执行引擎)
│   └── 核心类库(java.lang, java.util等)
│
├── 编译器(javac)
├── 调试器(jdb)
└── 其他工具(jar, javadoc等)

总结

  • JVM:执行字节码的“引擎”,实现跨平台。
  • JRE:运行环境 = JVM + 类库。
  • JDK:开发环境 = JRE + 开发工具。
  • 关系:JDK > JRE > JVM,三者逐级依赖,共同支撑Java的“一次编写,到处运行”。
http://www.dtcms.com/a/120129.html

相关文章:

  • 【Axure元件分享】移动端滑动拨盘日期选择器
  • WHAT - React 惰性初始化
  • Qwen - 14B 怎么实现本地部署,权重参数大小:21GB
  • 快速上手Vue3国际化 (i18n)
  • DeepSeek和文心一言的区别
  • 搭建hadoop集群模式并运行
  • react: styled-components实现原理 标签模版
  • Linux开发过程中常用命令整理
  • GO语言入门经典-反射3(Value 与对象的值)
  • 前端打印小票Lodop完整解决方案
  • Gnome | 在Linux中像MacOS一样点击空格预览文件
  • $_GET变量
  • [BreachCTF 2025]
  • Oracle AQ
  • python-leetcode 66.寻找旋转排序数组中的最小值
  • 快速记忆法,提高知识点背诵效率
  • MySQL学习笔记十
  • 【LangChain框架组成】 LangChain 技术栈的模块化架构解析
  • 安徽合肥天猫代入驻精细化运营实战
  • 4.8刷题记录(双指针)
  • 15-17手写持久层框架优化
  • 【Linux高级IO(三)】Reactor
  • Java基础编程练习第38题-除法器
  • C++隐式转换的机制、风险与消除方法
  • LLMs之Llama:Llama 4(Llama 4 Maverick Scout)的简介、安装和使用方法、案例应用之详细攻略
  • 基于人工智能的高中教育评价体系重构研究
  • MATLAB2024a超详细图文安装教程(2025最新版保姆级教程)附安装钥
  • 模板方法模式详解
  • Django学习记录-1
  • 利用 schedule 模块在每日上午每 3 秒执行任务