【Java核心】JDK、JRE、 JVM的联系与区别

个人简介:Java领域新星创作者;阿里云技术博主、星级博主、专家博主;正在Java学习的路上摸爬滚打,记录学习的过程~

个人主页:.29.的博客

学习社区:进去逛一逛~

JDK、JRE、 JVM的联系与区别

  • [1. 简述](#1. 简述)
  • [2. 是什么](#2. 是什么)
  • [3. 联系和区别](#3. 联系和区别)

1. 简述

简单来说

JDK 是开发 Java 程序所需的工具包,包含了 JRE,并且额外提供了开发工具和库。JRE 是 Java 的运行时环境,包含了JVM。JVM 是运行 Java 程序的虚拟机。


2. 是什么

JDK、JRE 和 JVM 是与 Java 相关的三个重要术语,它们在 Java 开发和执行过程中扮演不同的角色,有着密切的联系:

  1. JVM(Java Virtual Machine,Java 虚拟机):JVM 是 Java 的核心组件之一,它是一个虚拟的计算机环境,负责在运行 Java 程序时解释和执行 Java 字节码。JVM 是跨平台的关键,它能够将编写的 Java 代码在不同操作系统上运行,将字节码翻译成与底层操作系统和硬件相匹配的机器码。同时,JVM 还负责内存管理、垃圾回收、线程管理等任务。
  2. JRE(Java Runtime Environment,Java 运行时环境):JRE 是 Java 应用程序的运行环境,包含了 JVM 和 Java 标准类库(Java API),它提供了 Java 程序运行所需的核心类库和支持文件。JRE 是给用户或最终用户使用的,它只包含运行 Java 程序所需的组件,不包含编译器和其他开发工具。
  3. JDK(Java Development Kit,Java 开发工具包):JDK 是用于开发 Java 应用程序的软件包,它包含了 JRE,同时还提供了编译器(javac)、调试器(jdb)、文档生成工具(javadoc)以及其他开发所需的工具和库。JDK 是给开发人员使用的,它提供了编写、编译和调试 Java 程序的一切必要组件。

3. 联系和区别

JDK、JRE、JVM三者的联系和区别

  • JDK 是用于开发 Java 程序的工具包,包括了 JRE,同时提供了编译器(javac)和其他开发工具。

  • JDK 针对开发人员和编写 Java 程序的环境,JRE 针对最终用户和运行 Java 程序的环境。

  • JDK 包含了 JRE,但是 JRE 没有包含 JDK 的开发工具部分。

  • JVM 是运行 Java 程序的虚拟机,JRE 则是包含 JVM 和 Java 标准类库的运行时环境。


相关推荐
woxihuan1234565 小时前
SQL删除数据时存在依赖关系_设置外键级联删除ON DELETE
jvm·数据库·python
Jetev5 小时前
如何确定SQL字段是否为空_使用IS NULL与IS NOT NULL
jvm·数据库·python
m0_702036535 小时前
mysql如何处理不走索引的OR查询_使用UNION ALL优化重写
jvm·数据库·python
庞轩px5 小时前
第七篇:Spring扩展点——如何优雅地介入Bean的创建流程
java·后端·spring·bean·aware·扩展点
代钦塔拉6 小时前
Qt4 vs Qt5 带参数信号槽的连接方式详解
开发语言·数据库·qt
2401_846339566 小时前
MySQL在云环境如何选择存储类型_SSD与高性能云盘配置建议
jvm·数据库·python
zhaoyong2227 小时前
SQL如何统计每个用户的首次行为时间_MIN聚合与分组
jvm·数据库·python
tongluowan0077 小时前
一个请求在Spring MVC 中是怎么流转的
java·spring·mvc
2501_901006477 小时前
C#怎么实现配置热更新 C#如何在运行时动态刷新配置文件不需要重启程序【技巧】
jvm·数据库·python
m0_470857647 小时前
HTML怎么创建响应式图片备选方案_HTML srcset与sizes结构【详解】
jvm·数据库·python