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。这种包含关系表明了它们之间的依赖和功能分配。
相关推荐
Moment1 小时前
代码都能让 Agent 写了,我们为什么还要学前端?
前端·后端·面试
aiks_yuan1 小时前
Java CPU 100% 怎么排查:JDK 11 起 jstack 自带线程 CPU 时间,不用再 top -H 换算十六进制(JDK 8、11、17 实测)
java
Flynn Liang3 小时前
AiServices 源码级拆解:一个接口如何变成 RAG Agent
java·langchain·源码分析·rag·langchain4j·aiservices
Flynn Liang3 小时前
LangChain4j 1.23 架构全景:Java 大模型应用的 6 层抽象
java·langchain·大模型·rag·ai agent·langchain4j
聪明的笨猪猪4 小时前
实际工程问题:AI生成Redis分布式锁的原子性缺陷导致库存超卖
java·经验分享·面试·ai编程
软件技术NINI4 小时前
基于SpringBoot和Vue的新能源汽车销售推荐系统
java·vue.js·spring boot·后端·汽车·毕业设计·毕设
Flynn Liang5 小时前
LangChain4j 生产级工程骨架:12 个模块 + Docker 一键启动
java·spring boot·langchain·rag·langchain4j
噢,我明白了6 小时前
JAVA中的一些基础应用知识点
java·开发语言
寂寞的船6 小时前
【Unity知识速递】第10期 Unity GC 零分配实战:从 UnityEngine.Pool 到手动 GC 控制的全链路优化
jvm·unity·c#·游戏引擎·lucene
SL_staff7 小时前
私有化低代码不是妥协,而是企业级数字化的自主可控主航道
java