什么是JDK、JRE和JVM?

本文详细介绍了Java开发工具包(JDK)、Java运行环境(JRE)和Java虚拟机(JVM)的概念及其相互之间的关系。JDK作为Java开发的核心,包含了JRE及一系列开发工具;JRE则是运行Java程序的基础环境,内含JVM、类库和启动器;JVM实现了Java跨平台特性,是解释执行Java字节码的关键。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.JDK(Java Development Kit)

  • JDK是Java开发工具包,是Sun公司针对Java程序员的产品。

  • JDK中包含JRE,在JDK的安装目录下有一个名为jre的目录,里面有两个文件夹bin和lib,在这里可以认为bin里的就是jvm,lib中则是jvm工作所需要的类库,而jvm和 lib和起来就称为jre。
    在这里插入图片描述
    在这里插入图片描述

  • JDK是整个JAVA的核心,包括了Java运行环境JRE(Java Runtime Envirnment)、一堆Java工具(javac/java/jdb等)和Java基础的类库(即Java API 包括rt.jar)
    在这里插入图片描述

2.JRE(Java Runtime Environment)

  • JRE是运行基于Java语言编写的程序所不可缺少的运行环境。也是通过它,Java的开发者才得以将自己开发的程序发布到用户手中,让用户使用。

  • JRE中包含了Java virtual machine(JVM),runtime class libraries和Java application launcher,这些是运行Java程序的必要组件。

  • 与大家熟知的JDK不同,JRE是Java运行环境,并不是一个开发环境,所以没有包含任何开发工具(如编译器和调试器),只是针对于使用Java程序的用户。

3.JVM(Java Virtual Machine)

  • java虚拟机,它是整个java实现跨平台的最核心的部分,所有的java程序会首先被编译为.class的类文件,这种类文件可以在虚拟机上执行。

  • 也就是说.class文件并不直接与机器的操作系统相对应,而是经过虚拟机间接与操作系统交互,由虚拟机将程序解释给本地系统执行。

  • 只有JVM还不能成.class文件的执行,因为在解释class的时候JVM需要调用解释所需要的类库lib,而jre包含lib类库。

  • JVM对于主流的操作系统都有相应的版本,目的就是将 统一的字节码 编译成对应操作系统识的二进制码,然后执行。JVM屏蔽了与具体操作系统平台相关的信息,使得Java程序只需生成在Java虚拟机上运行的(字节码),就可以在多种平台上不加修改地运行。从而实现 Write once Run Anywhere

4.三者联系图

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值