当前位置: 首页 > 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的“一次编写,到处运行”。

相关文章:

  • 【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刷题记录(双指针)
  • 手机建设银行新网站/免费域名服务器
  • 自建个网站怎么做/四川二级站seo整站优化排名
  • 网站建设公司好/外贸网站推广服务
  • 个人电脑可以做网站服务器吗/国内最新新闻摘抄
  • 建三江廉政建设网站/在线种子资源库
  • 网站需要什么服务器/网站运营维护的基本工作