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。这种包含关系表明了它们之间的依赖和功能分配。
相关推荐
yejqvow1218 小时前
如何分析RAC启动挂起_crond与ohasd进程启动依赖链排查
jvm·数据库·python
Chengbei1118 小时前
2026护网HVV面试看这篇就够了!真题+技巧+培训福利一站式get
网络·安全·web安全·网络安全·面试·职场和发展·安全架构
2401_8359568118 小时前
c++怎么解析二进制存储的BMP位图调色板数据及每一行的像素偏移【详解】
jvm·数据库·python
2301_8152795218 小时前
JavaScript中闭包结合代理模式Proxy实现数据监听
jvm·数据库·python
2401_8371638918 小时前
mysql如何禁止用户创建新表_撤销CREATE与ALTER表权限
jvm·数据库·python
m0_6403093018 小时前
如何解决phpMyAdmin导出空文件的问题_权限检查与表是否损坏排查
jvm·数据库·python
2401_8371638918 小时前
Golang怎么设置响应状态码_Golang如何用WriteHeader返回404或500状态【基础】
jvm·数据库·python
2301_7735536218 小时前
如何配置Data Guard的重做路由Redo Routing_级联备库Cascaded Standby架构
jvm·数据库·python
2401_8836002518 小时前
CSS 背景图片无法加载的常见原因与正确写法详解
jvm·数据库·python
Huangxy__18 小时前
java相机手搓(后续是文件保存以及接入大模型)
java·开发语言·数码相机