Java面试之JDK、JRE、JVM区别

1、JDK(Java Development Kit):

JDK是Java开发工具包,它是开发Java应用程序的核心工具。它包含了编译器(javac)、运行时库(Java标准库)、调试器(jdb)等工具,以及Java开发所需的各种库和支持文件。 JDK不仅包括JRE,还包括了开发人员用来编写、编译和调试Java代码的工具。

Java源代码经过编译器(javac)编译后,会生成字节码文件(.class文件),这些字节码文件包含了与特定平台无关的中间代码,然后由Java虚拟机(JVM)在运行时解释或编译成特定平台上的本地机器代码。

2、JRE(Java Runtime Environment):

JRE是Java运行时环境,它包含了Java虚拟机(JVM)以及运行Java程序所需的核心类库和支持文件,但不包含开发工具。 JRE是运行Java程序的必要环境,如果你要运行Java程序,只需要安装JRE即可。

3、JVM(Java Virtual Machine):

JVM是Java虚拟机,它是Java程序的运行环境。它负责将Java字节码解释或编译成特定平台上的本地机器代码,以便在不同的操作系统上运行Java程序。 JVM提供了内存管理、垃圾回收、安全检查等运行时环境支持,使得Java程序具有跨平台性和可移植性。

4、简而言之 :

  • JDK是开发Java程序所需的工具包,JRE是运行Java程序所需的环境,而JVM则是Java程序的运行引擎。
  • JDK包含了JRE,而JRE又包含了JVM。这种包含关系表明了它们之间的依赖和功能分配。
相关推荐
serve the people4 分钟前
python环境搭建 (五) Dockerfile 和 docker-compose.yml 核心作用
java·python·docker
独断万古他化11 分钟前
【Spring 事务】核心概念与实战:从手动控制到注解自动事务
java·spring·事务
马猴烧酒.14 分钟前
【团队空间|第十一天】基础功能实现,RBAC权限控制,ShardingSphere详解
java·开发语言·数据库
fengxin_rou14 分钟前
从 String 到 Zset:Redis 核心数据结构全解析及排行榜应用
java·开发语言·redis·多线程
世界尽头与你16 分钟前
CVE-2025-55752_ Apache Tomcat 安全漏洞
java·安全·网络安全·渗透测试·tomcat·apache
Re.不晚16 分钟前
Java进阶之路--线程最最详细讲解
java·开发语言
遨游xyz25 分钟前
数据结构-栈
java·数据结构·算法
海南java第二人26 分钟前
Flink动态字符串处理框架:构建灵活可配置的实时数据管道
java·flink
lbb 小魔仙27 分钟前
MyBatis-Plus 系统化实战:从基础 CRUD 到高级查询与性能优化
java·性能优化·mybatis
BLUcoding27 分钟前
Docker 离线安装和镜像源配置
java·docker·eureka