Java中JDK、JRE、JVM概念

在 Java 中,JDKJREJVM 是三个核心概念,它们共同支撑 Java 程序的开发和运行,三者的关系可以简单概括为:JDK 包含 JRE,JRE 包含 JVM。具体区别如下:

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

  • 定义 :是 Java 跨平台特性的核心,是一个虚构的计算机(软件模拟的运行环境),负责将 Java 字节码(.class文件)解释或编译为当前操作系统可执行的机器码。
  • 作用:屏蔽不同操作系统的底层差异,使得同一份 Java 字节码在 Windows、Linux、macOS 等平台上都能运行("一次编写,到处运行")。
  • 特点:本身不直接执行 Java 源代码,只识别字节码;不同平台需要安装对应的 JVM 实现(但对开发者透明)。

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

  • 定义:是运行 Java 程序的最小环境,包含执行 Java 程序所需的全部组件。
  • 组成
    • JVM:字节码的运行核心。
    • 核心类库 :Java 标准库的基础部分(如 java.langjava.util 等包),提供基本功能支持。
    • 其他支持文件:确保 JVM 正常运行的配置文件、资源文件等。
  • 用途 :如果只需要运行已编译好的 Java 程序(如 .class.jar 文件),安装 JRE 即可。

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

  • 定义:是 Java 开发人员使用的工具集,包含开发 Java 程序所需的所有工具和环境。
  • 组成
    • JRE:包含 JVM 和运行时类库(因此安装 JDK 后无需单独安装 JRE)。
    • 开发工具 :如编译器(javac,将 .java 源代码编译为 .class 字节码)、调试器(jdb)、文档工具(javadoc)、打包工具(jar)等。
    • 额外类库 :包含一些开发阶段专用的类库(如 tools.jar)。
  • 用途:用于开发 Java 程序,必须安装 JDK 才能编写、编译代码。

三者关系总结

复制代码
JDK = JRE + 开发工具(编译器、调试器等)  
JRE = JVM + 运行时类库 + 支持文件  

简单说:

  • 开发 Java 程序 → 用 JDK(需要编译、调试);
  • 运行 Java 程序 → 用 JRE(只需执行字节码);
  • 跨平台运行的核心 → JVM(解释字节码为机器码)。
相关推荐
咩咩啃树皮7 小时前
第40篇:Vue3组件化开发精讲——组件拆分、复用、父子通信、工程化架构
java·前端·架构
灯澜忆梦7 小时前
GO_并发编程---定时器
开发语言·后端·golang
鱟鲥鳚7 小时前
Spring Boot 集成 LangChain4j:从模型调用到 Tool Calling(Demo版)
java·spring boot
-银雾鸢尾-7 小时前
C#中的StringBuilder相关方法
开发语言·c#
-银雾鸢尾-8 小时前
C#中结构体与类的区别;抽象类与接口的区别
开发语言·c#
大模型码小白9 小时前
【Python零基础教程】继承、多态与魔法函数:面向对象编程三大核心特性详解
java·大数据·开发语言·人工智能·python·ai编程
腾渊信息科技公司9 小时前
Spring Boot对接MES实战:视觉检测数据自动同步方案
java·人工智能·spring boot·后端·计算机视觉·ai·软件需求
爱笑的源码基地10 小时前
高并发 Redis 缓存门诊HIS系统源码,含财务统计药房进销存
java·程序·门诊系统·诊所系统·云诊所源码
wuqingshun31415910 小时前
TCP超时重传机制是为了解决什么问题?
java
段一凡-华北理工大学11 小时前
向量数据库实战:选型、调优与落地~系列文章12:文本分块策略实战:chunk_size 怎么选?重叠多少?
开发语言·数据库·后端·oracle·rust·工业智能体·高炉智能化