解释JVM以及JDK、JRE、JVM三者关系

定义与解释

JDK

JDK (Java Development Kit),Java开发工具包。是提供给Java开发人员使用的,其中包含了Java的开发工具,也包括了JRE,所以安装了JDK后,就不需要再安装JRE了。其中的开发工具包括编译工具(javac.exe)、打包工具(jar.exe)等。

JRE

JRE (Java Runtime Environment),Java运行环境。包括Java虚拟机(JVM)和Java程序所需的核心类库等,如果想要运行一个开发好的Java程序,计算机中只需要安装JRE即可。简单而言,使用JDK开发Java程序,JRE去运行。

JVM

JVM (Java Virtual Machine),Java虚拟机。上一篇文章我们提到,Java语言有跨平台的特点,正是由于JVM才做到了这一点。在不同的操作系统上运行Java程序都要首先安装这个操作系统所对应版本的JVM。如下图所示:
Java语言的跨平台性
举一个例子,我们把程序比作舞蹈,把操作系统比作明星,假设有的明星只会在平原上跳舞,有的明星只会在沙漠上跳舞,但是只要有了JVM这个舞台,所有的明星只要能在舞台上跳舞,他就能在平原的舞台上跳舞,在沙漠的舞台上跳舞。当然,平原的舞台和沙漠的舞台搭建肯定是不一样的。
JVM相当于是一个虚拟的计算机,具有指令集并使用不同的存储区域。负责执行指令,负责管理数据、内存、寄存器。对于不同的平台,有不同的虚拟机,只有某平台提供了对应的Java虚拟机,Java程序才可以在这个平台运行。JVM屏蔽了底层运行平台的差别。结构如下:
Java程序开发的分层结构

关系

这里我们可以看Oracle官方给出的Java SE 8的文档中的一张图。原图链接
Java SE 8的组件
从这张图中,我们可以清楚的看到:

  • JDK = JRE + 开发工具集(例如Javac编译工具等)
  • JRE = JVM + Java SE标准类库

参考资料

[1] 宋红康.JVM与垃圾回收机制.哔哩哔哩
[2] 宋红康.JDK、JRE、JVM的关系.哔哩哔哩
[3] Oracle官方文档对Java SE 8组件的描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值