当前位置: 首页 > news >正文

Java中JVM、JRE和JDK三者有什么区别和联系?

任何语言或者软件的运行都需要环境。就像人要生活在空气中,鱼要活在水中,喜阴植物就不能放在阳光下暴晒一样,任何对象个体的存在都离不开其所需要的环境,编程语言亦是一样的。

java 语言的开发运行,也离不开 Java 语言的运行环境 JRE。没有 JRE 的支持,Java 语言便无法运行。当然,如果还想编译 Java 程序,搞搞小开发的话,JRE 是明显不够了,这时候就需要 JDK。

其实啊,JDK 就是 JRE 加上一些常用工具组成的。JDK 不仅能运行已经被编译好了的 Java 程序,还能支持我们编译 Java 程序(JDK=JRE+各种工具)。

我们学习了 Java 虚拟机 JVM。那么 JDK,JVM 和 JRE,那他们三个有什么区别呢?又有什么联系呢?如果你学到这里产生这样一个疑问,我想说,你到目前为止,学的很不错!那现在为你们整理一下三者的关系和区别吧:

  • JDK(Java Development Kid,Java 开发开源工具包),是针对 Java 开发人员的产品,是整个 Java 的核心,包括了 Java 运行环境 JRE、Java 工具和 Java 基础类库。
  • JRE(Java Runtime Environment,Java 运行环境)是运行 JAVA 程序所必须的环境的集合,包含 JVM 标准实现及 Java 核心类库。
  • JVM(Java Virtual Machine,Java 虚拟机)是整个 Java 实现跨平台的最核心的部分,能够运行以 Java 语言写作的软件程序。


所以说大家看出来三者的关系了吗?其实如下图所示:


 


由图中可以看出以下几点:

  • JDK=JRE+多种Java开发工具
  • JRE=JVM+各种类库
  • 这三者的关系是一层层的嵌套关系。JDK>JRE>JVM
http://www.lryc.cn/news/205821.html

相关文章:

  • 秋季期中考复现xj
  • 【代码随想录】算法训练营 第十四天 第六章 二叉树 Part 1
  • 【访问控制】—>《熟练使用ACL进行上网行为管理》
  • MySQL外键,表与表的关系,多表查询,Navicat软件
  • Linux系统镜像备忘
  • Docker容器端口在主机的映射
  • Spring Boot中RedisTemplate的使用
  • GSCoolink GSV6183 带嵌入式MCU的MIPI D-PHY 转 DP/eDP
  • Linux文件系统 struct dentry 结构体解析
  • C++——vector
  • html5语义化标签
  • SQL Server批量删除数据库中的表
  • 使用SecScanC2构建P2P去中心化网络实现反溯源
  • 【API篇】七、Flink窗口
  • 软件测试面试1000问(含文档)
  • 进阶课4——随机森林
  • 【Docker】Dockerfile使用技巧
  • 一招解决“请在微信客户端中打开链接”
  • Python循环语句(一)
  • 期中考核复现
  • 基于XML的Web服务Java接口(JAX-WS)、Jakarta XML Web Services Eclipse 实现
  • 公网无信号区域远程抄表问题解决方案及产品选型
  • lunar-1.5.jar
  • c++编译使用log4cplus
  • zookeeper源码(02)源码编译启动及idea导入
  • Github 2FA绑定中国+86手机号码实现两步验证
  • windows安装mysql-8.0.35
  • 最详细STM32,cubeMX串口发送,接收数据
  • Kafka入门04——原理分析
  • k8s-----17、集群安全机制