JDK、JRE、JVM之间的关系是什么?

目录

JVM、JRE、JDK的关系?

 JDK、JRE、JVM都是什么?

JVM

JRE

JDK


JVM、JRE、JDK的关系?

三者包含关系:

JDK>JRE>JVM

 JDK、JRE、JVM都是什么?

jdk:是用于java开发的最小环境 包括:java程序设计语言、Java虚拟机,java类库

jre:是java程序运行的标准环境。包含java虚拟机,Java类库

jvm:java虚拟机

JVM

JVM全称(Java Virtual Machine),就是我们很耳熟的Java虚拟机。它能够识别.class后缀的文件,并且能够解析它的指令,最终调用操作系统上的函数,完成我们想要的操作。

其实就相当于我们的操作系统,是负责翻译或者解释.class文件的,识别.class中的指令,从而调用操作系统中的指令。

在C和C++中,编译成的二进制文件是操作系统能够直接看懂的,java编译成的.class文件则是操作系统不认识的,还需要使用java命令去执行它

可以理解为java程序其实就是在JVM中运行的,JVM是使Java程序能够运行并且能够使之跨平台运行的核心。

JRE

JVM虽然功能强大,但是还是需要其他的小伙伴给它提供原料(.class文件)。

如果只是靠JVM是无法实现java的一次编译到处运行的,他还需要一个基本的类库,也就是API

java体系中,当一个程序运行时,JVM也会一起运行和一起销毁,会一次性将JVM运行所需的类库都传递给它。JVM标准加上实现的一大堆基础类库,就组成了java的运行时环境 也就是JRE

有了JRE之后,我们就可以在任意系统中运行java程序了

JDK

当我们只想运行java程序的话,只需要jre就可以了,但是如果想编写java程序就需要用到jdk

需要注意的是:这里所说的java程序指的是.class文件,可以直接理解为jdk就是将.java文件编译成.class文件,然后交给jre去执行

JDK是工具,JRE是环境

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/5021.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【webpack】webpack初步了解(存档自用)

2023/7/14 09:26:28 webpack工程化构建 2023/7/14 09:26:50 Webpack是一个现代化的前端工程化构建工具,它可以将多个模块打包成一个或多个静态资源文件。使用Webpack,你可以通过配置定义各种模块之间的依赖关系、加载器和插件。 以下是使用Webpack进…

如何助力企业DCMM贯标落地,这里有答案

DCMM作为国家第一个数据管理领域标准,是企业落实数据驱动战略、实现数字化转型的重要抓手。从行业实践来看,国内多个行业开始在全面拥抱DCMM模型,根据模型开展数据管理评估和能力提升工作。 01 什么是DCMM DCMM是国家标准《GB/T36073-2018 数…

Word文档突然无法打开?如何修复损坏文档?

在工作学习中,通常会遇到这种情况,我们正在编辑Word文件,电脑忽然断电关机,或者死机需要重启。当电脑重启以后,辛辛苦苦编辑很久的Word文件却忽然打不开了!一直提示文件错误,如何解决Word无法打…

postgresql 内核源码分析 表锁relation lock的使用,session lock会话锁的应用场景,操作表不再困难

​专栏内容: postgresql内核源码分析 手写数据库toadb 并发编程 个人主页:我的主页 座右铭:天行健,君子以自强不息;地势坤,君子以厚德载物. 表锁介绍 当表打开,或者操作表时,都需要…

常考的技巧类算法题(一):下一个排列

技巧类算法题是我随口提的一个概念,意思就是这道题有自己独特的思考思路,仅仅知道它所涉及的最基础的知识点(如宽泛的双指针,动规或深度优先搜索),然后自行推理解题套路十分困难。因此在此做一个整理&#…

Mybatis解析mybatis-config.xml过程

文章目录 1. 相关代码2. 加载资源3. 创建SqlSessionFactory3.1 整体创建过程3.2. 创建XMLConfigBuilder.3.2.1 XMLConfigBuilder 的核心字段3.2.2 BaseBuilder 3.3 创建Configuration3.4 全局配置文件解析过程3.4.1 parseConfiguration方法3.4.2 properties标签解析3.4.3 setti…

flink on yarn 中的flink-conf.yaml参数

在 Flink on YARN 中,flink-conf.yaml 是 Flink 配置文件,用于配置 Flink 应用程序在 YARN 上的运行。通过修改 flink-conf.yaml 文件中的参数,你可以调整 Flink 集群的行为和性能。以下是一些常见的在 flink-conf.yaml 中设置的参数: yarn.application.name: 指定 Flink 应…

Go速成-常量

1.常量的定义 Go语言常量,定义的值是不能进修修改的,定义常量就是const,常量定义建议全部大写 const PI float32 3.1415946 //显式定义 const (x int 16ys "abc"z)fmt.Print(x,y,s,z) 在定义常量的时候如果没有声明值&#xff…

深入理解Spring中的立即加载和延迟加载

引言 在使用Spring框架进行开发时,掌握加载策略是至关重要的。Spring框架提供了两种主要的加载策略:立即加载(Eager Loading)和延迟加载(Lazy Loading)。这两种加载策略在不同的场景下有各自的优势和适用性…

Gradle和Aritifactory,实现上传Apk并发送消息到钉钉

Gradle和Aritifactory 本文链接:https://blog.csdn.net/feather_wch/article/details/131746580 文章目录 Gradle和AritifactoryGradle基本介绍Gradle插件开发流程本地仓库artifactory搭建添加仓库使用本地仓库gradle插件仓库引入 插件buildSrc开发步骤xxxPluginPg…

五、DQL-2.基本查询

一、数据准备 1、删除表employee: drop table employee; 2、创建表emp: 3、添加数据: 4、查看表数据: 【代码】 -- 查询数据--------------------------------------------------------- drop table emp;-- 数据准备-----------…

linux之Ubuntu系列 find 、 ln 、 tar、apt 指令 软链接和硬链接 snap

查找文件 find 命令 功能非常强大,通常用来在 特定的目录下 搜索 符合条件的文件 find [path] -name “.txt” 记得要加 “ ” 支持通配符 ,正则表达式 包括子目录 ls 不包括 子目录 如果省略路径,表示 在当前路径下,搜索 软链接…

LabVIEW开发航空电子设备嵌入式诊断半物理仿真系统

LabVIEW开发航空电子设备嵌入式诊断半物理仿真系统 航电集成系统是现代战争飞机的重要组成部分,包括惯性导航系统、飞行控制系统、机电管理系统和任务计算机等子系统。战机的作战性能与航电系统息息相关,可以说,没有高性能的空电系统&#x…

【Python爬虫开发基础⑭】Scrapy架构(组件介绍、架构组成和工作原理)

🚀个人主页:为梦而生~ 关注我一起学习吧! 💡专栏:python网络爬虫从基础到实战 欢迎订阅!后面的内容会越来越有意思~ 💡往期推荐: ⭐️前面比较重要的基础内容: 【Python爬…

[pyqt5]QListView增删改查和添加右键菜单

将一批数据list加入到QListView slm QStringListModel() # 创建modelslm.setStringList([111, 222, 333]) # 将数据设置到modelself.listView.setModel(slm) 设置某行被选中,这里以第一行选中为例子 model_index slm.index(0, 0)self.listView.setCurrentIndex…

古代政府机构及官员品级

我国古代官员职位各历史阶段不同,分类繁多。 中央官制历史沿袭 战国时,各国国君之下设相与将,分掌文武权柄。我们熟知的例子有,赵慧文王以蔺相如为相,廉颇为将。但同时期楚国最高长官为令尹,武官是上柱国…

[QT编程系列-22]:基本框架 - QT常见数据结构:QString、QList、QVector、QMap、QHash、QSet、QPair快览

目录 1. QT常见数据结构概述 2. QList与QVector比较 3. QPair和QMap比较 4. QT数据结构与STL库数据结构比较 5. QT数据结构与STL库数据结构性能比较 1. QT常见数据结构概述 在Qt中,有几个主要的数据结构常用于处理和组织数据,包括: QS…

数据库用户管理

数据库用户管理 一、创建: 1.新建用户: CREATE USER 用户名来源地址 [IDENTIFIED BY [PASSWORD] 密码];‘用户名’:指定将创建的用户名. ‘来源地址’:指定新创建的用户可在哪些主机上登录,可使用IP地址、网段、主机…

Docker 应用容器引擎

Docker 应用容器引擎 一、Docker是什么二、Docker安装和查看1、docker安装2、docker版本信息查看3、docker信息查看 三、镜像操作四、容器操作1、容器创建2、创建并启动容器3、容器的进入4、复制5、容器的导入和导出6、删除容器 一、Docker是什么 是一个开源的应用容器引擎&…

ROS:nodelet

目录 一、前言二、概念三、作用四、使用演示4.1案例简介4.2nodelet 基本使用语法4.3内置案例调用 五、nodelet实现5.1需求5.2流程5.3准备5.4创建插件类并注册插件5.5构建插件库5.6使插件可用于ROS工具链5.6.1配置xml5.6.2导出插件 5.7执行 一、前言 ROS通信是基于Node(节点)的…