冯 • 诺依曼体系结构
文章目录
- 冯 • 诺依曼体系结构的介绍
- 冯 • 诺依曼体系结构的由来
- 内存是如何提高冯•诺依曼体系结构效率的?
- 为什么程序运行之前必须先加载到内存?
- 从软件层面上再理解冯 • 诺依曼体系结构(QQ聊天的数据流动)
- 一些知识的补充
冯 • 诺依曼体系结构的介绍
我们常见的计算机,如笔记本;我们不常见的计算机,如服务器;大部分都遵守冯诺依曼体系!
我们所认识的计算机,都是有一个个的硬件组件组成的,下面是我们对上图的一个补充:
1)输入设备:包括键盘、磁盘、鼠标、扫描仪、写板、网卡、显卡,话筒、摄像头等等。
2)存储器:其实就是内存!
注意:所谓的内存是内存,而外存通常就是指除了内存之外的其他具有永久性存储数据能力的设备,常见是就是磁盘。
磁盘是外存不是内存。
内存是易失性存储,断电后数据丢失,用于存储正在运行的程序和数据。
磁盘是非易失性存储,断电后数据仍然保留,用于存储操作系统、应用程序和用户数据这些大量数据。
3)中央处理器(CPU):含有运算器和控制器以及寄存器,各级别缓存等等。
注意:
1)我们经常说CPU当中有寄存器,实际上寄存器不仅仅在CPU当中存在,在其他外设当中也是有寄存器的。例如:当我们敲击键盘时,键盘是先将获取到的内容存储在寄存器当中,然后再通过寄存器将数据写入内存当中。
2)在物理层面上,各个硬件单元之间是通过总线连接的,外设与内存之间的总线叫做IO总线,内存与CPU之间的总线叫做系统总线。
4)输出设备:显示器、磁盘、网卡、扬声器、打印机等等。
小贴士: 同种设备在不同场景下可能属于输入设备,也可能属于输入设备。
冯 • 诺依曼体系结构的由来
我们都知道,计算机的作用就是为了解决人的问题的,而要解决问题,首先必须要将数据或者问题输入到计算机当中,因此计算机就必须要有输入设备了。其次,计算机解决完问题后还需要将计算结果输出显示出来,所以计算机也必须要有输出设备。计算机通过输入设备得到数据,数据在计算机当中进行一系列的算术运算和逻辑运算后,通过输出设备进行输出,于是就得到了以下操作图:
但是计算机当中只有算术运算功能和逻辑运算功能是不够的,还需要有控制功能,控制何时从输入设备获取数据,何时输出数据到输出设备等。
对应到C语言当中,算术运算就完成一系列的加减乘除,而逻辑运算就对应于一系列的逻辑与逻辑或等等,控制功能就对应于C语言当中的判断、循环以及各个函数之间的跳转等等。对应如下:
这个具有算术运算功能、逻辑运算功能以及控制功能的这个模块称为中央处理器,简称CPU。
但是输入设备和输出设备相对于中央处理器来说是非常慢的,于是在当前这个体系整体呈现出来的就是:输入设备和输出设备很慢,而CPU很快,而根据木桶原理(一只木桶盛水的多少,并不取决于桶壁上最高的那块木块,而恰恰取决于桶壁上最短的那块) ,可以知道最终整个体系所呈现出来的速度也将会是很慢的。
木桶原理图:
综上所述,显然目前这个体系结构是不合适的,于是前辈们就不让输入设备和输出设备直接与CPU进行交互,而是在这中间加入了内存。
内存有个特点就是:比输入设备和输出设备要快很多,但是又比CPU要慢。现在内存就处于慢设备和快设备之间,是一个不快也不慢的设备,能够在该体系结构当中就起到一个缓冲的作用。
所以现在该体系的运行流程就是:用户输入的数据先放到内存当中,CPU读取数据的时候就直接从内存当中读取,CPU处理完数据后又写回内存当中,然后内存再将数据输出到输出设备当中,最后由输出设备进行输出显示。
这样子一系列下来就形成了最终的冯诺依曼体系结构了。如下:
内存是如何提高冯•诺依曼体系结构效率的?
即使上面我们了解了 冯•诺依曼体系结构,可能大家还是会有一个疑问:
先将输入设备的数据交给内存,再由内存将数据交给CPU,这个过程真的比CPU直接从输入设备获取数据更快吗?
答案:是的。
1)首先我们要知道:内存是具有数据存储的能力的。虽然内存的大小只有 4G/8G/16G,但是既然内存有大小,那么它就有预装数据的能力,而这就是提高该体系结构效率的秘诀。
2)这里我们引用一下局部性原理:根据统计学原理,当一个数据正在被访问时,那么下一次有很大可能会访问其周围的数据。
所以内存提高冯•诺依曼体系结构效率的做法是:当CPU需要获取某一行数据时,内存可以将该行数据之后的数据一同加载进来,而CPU处理数据和内存加载数据是可以同时进行的,这样下次CPU就可以直接从内存当中获取数据。
3)输出数据的时候也一样的,CPU处理完数据后直接将数据放到内存当中,当输出设备需要时再在内存当中获取,而这也就有了我们平常所说的缓冲区的概念。例如,缓冲区满了才将数据打印到屏幕上,使用fflush函数将缓冲区当中的数据直接输出之类的,都是将内存当中的数据直接拿到输出设备当中进行显示输出。
为什么程序运行之前必须先加载到内存?
根据 冯 • 诺依曼体系结构图,我们知道,在硬件角度和数据层面上,cpu 只与内存打交道,外设(输入或输出设备)也只与内存打交道。由此我们就能解释:为什么程序运行之前必须先加载到内存?
因为可执行程序(文件)是在磁盘(外设)上的,而 CPU 只能从内存当中获取数据,所以必须先将磁盘上的数据加载到内存中,也就是必须先将程序加载到内存中,才能实现程序的运行。
从软件层面上再理解冯 • 诺依曼体系结构(QQ聊天的数据流动)
上面我们从硬件上了解了冯 • 诺依曼体系结构,下面我们会从问题:数据流是如何在不同的电脑中流动的 出发,以QQ聊天时的数据流动的例子来加深对冯 • 诺依曼体系结构的再理解。
1)首先我们都知道,使用QQ时需要联网,而你和你的朋友的电脑都是冯诺依曼体系结构,在你向朋友发送消息这个过程中,你的电脑当中的键盘充当输入设备,显示器和网卡充当输出设备,你朋友的电脑当中的网卡充当输入设备、显示器充当输出设备。
2)其次刚开始你在键盘当中输入消息时,键盘会将消息加载到内存,此时你的显示器就可以从内存获取消息进而显示在你自己的显示器上,所以你就能在你自己的电脑上看到你所发的消息了,而在键盘将消息加载到内存后,CPU又会从内存获取到消息后对消息进行各种封装,然后再将其写回内存,此时你的网卡就可以从内存获取已经封装好的消息,然后在网络当中经过一系列处理(这里忽略网络处理细节),然后你朋友的电脑的网卡就可以从网络当中获取到你所发的消息,再将该消息加载到内存当中,此时你朋友的电脑的CPU就可以再从内存当中获取消息并对消息进行解包操作,然后将解包好的消息写回内存,所以最后你朋友的显示器从内存当中获取消息并刷新显示到他的电脑上。这就是你和你的朋友进行QQ聊天时的数据流动了。
注意:上述的所有描述前提是:你和你的朋友都打开登录了各自的QQ程序,也就是将QQ程序加载到了内存,
而上面的所有收发数据,压包解包,加密解密等等操作实质上但是CPU在执行QQ程序的代码!
一些知识的补充
对于冯 • 诺依曼体系结构,再次强调的几点:
1)这里的存储器指的是内存
2)不考虑缓存情况,这里的CPU能且只能对内存进行读写,不能访问外设(输入或输出设备)
3)外设(输入或输出设备)要输入或者输出数据,也只能写入内存或者从内存中读取。
4)一句话,所有设备都只能直接和内存打交道。
相关文章:
冯 • 诺依曼体系结构
文章目录 冯 • 诺依曼体系结构的介绍冯 • 诺依曼体系结构的由来内存是如何提高冯•诺依曼体系结构效率的?为什么程序运行之前必须先加载到内存?从软件层面上再理解冯 • 诺依曼体系结构(QQ聊天的数据流动)一些知识的补充 冯 • …...
软考架构师笔记-存储管理
1.5 存储管理 存储管理 页式存储组织 虚地址 页号 | 页内地址页表 页号 | 块号物理地址 块号 | 页内地址访存两次:访问页表得到物理地址,根据物理地址得到数据就是把用户程序的空间分成若干页,把内存空间分成若干块,块和页的…...
【杂谈】信创电脑华为w515(统信系统)登录锁定及忘记密码处理
华为w515麒麟芯片版,还有非麒麟芯片版本,是一款信创电脑,一般安装的UOS系统。 准备一个空U盘,先下载镜像文件及启动盘制作工具,连接如下: 百度网盘 请输入提取码 http://livecd.uostools.com/img/apps/l…...
C#实现语音合成播报器——基于System.Speech的语音交互方案,在windows上实现语音播报指定文本
——基于System.Speech的语音交互方案,在windows上实现语音播报指定文本 一、语音合成播报应用场景 语音合成播报器广泛应用于以下领域: 工业控制:生产线异常报警、设备状态实时播报(如网页4中的WinCC语音报警插件)…...
【数据库】关系代数
关系代数 一、关系代数的概念二、关系代数的运算2.1 并、差、交2.2 投影、选择2.3 笛卡尔积2.4 连接2.5 重命名2.6 优先级 一、关系代数的概念 关系代数是一种抽象的数据查询语言用对关系的运算来表达查询 运算对象:关系运算符:4类运算结果:…...
点云滤波方法:特点、作用及使用场景
点云滤波是点云数据预处理的重要步骤,目的是去除噪声点、离群点等异常数据,平滑点云或提取特定频段特征,为后续的特征提取、配准、曲面重建、可视化等高阶应用打下良好基础。以下是点云中几种常见滤波方法的特点、作用及使用场景:…...
MWC 2025 | 移远通信大模型解决方案加速落地,引领服务机器人创新变革
随着人工智能、大模型等技术的蓬勃发展,生成式AI应用全面爆发。在此背景下,服务机器人作为大模型技术在端侧落地的关键场景,迎来了前所未有的发展机遇。 作为与用户直接交互的智能设备,服务机器人需要应对复杂场景下的感知、决策和…...
如何下载安装 PyCharm?
李升伟 整理 一、下载 PyCharm 访问官网 打开 PyCharm 官网,点击 "Download" 按钮25。 版本选择: 社区版(Community):免费使用,适合个人学习和基础开发。 专业版(Professional&#…...
STM32F407IGT的USB功能
使用STM32F407IGT的USB功能时,需注意硬件设计、协议配置、软件开发和调试等关键点。以下是分步指南和注意事项: 1. 硬件设计 USB接口选择: OTG FS(全速,12 Mbps):内置PHY,适用于简单应用(如HID、CDC)。OTG HS(高速,480 Mbps):需外接ULPI PHY芯片(如USB3300),…...
虚拟机IP配置
以下是在常见操作系统中配置虚拟机IP的一般步骤: 一、VMware Workstation(Windows或Linux主机下的虚拟机) 1. 桥接模式(Bridged)下的IP配置 - 在虚拟机设置中,将网络适配器设置为桥接模式。 - 启动虚拟机…...
机器学习-决策树详细解释
目录 一、预备知识 1.信息熵: 2.条件熵: 3.信息增益 4.基于信息增益选择分割特征的过程 5. C4.5算法 6.C435算法选择特征的策略 7 基尼不纯度: 二. 决策树的核心概念 1.树的结构 2.关键算法 三. 决策树的构建过程 1.特征选择 2.递归分割 3.停止条件 四. 决…...
kube-state-metrics镜像配置
在 Kubernetes 上部署 kube-state-metrics 时,镜像配置是非常重要的一步。kube-state-metrics 的官方镜像托管在 Google Container Registry (GCR) 上,但如果你无法直接访问 GCR,或者需要自定义镜像,可以按照以下步骤进行配置。 …...
计算机网络面试题
介绍一下Http常见的状态码 200 OK:最常见的成功响应码,表示服务器已成功处理了客户端的请求,请求的资源正常返回。400 Bad Request:表示客户端发送的请求存在语法错误或无法被服务器理解,如请求参数缺失、格式不正确等…...
Minix OS的配置 SSH C程序编译
Minix3的下载 官网:https://www.minix3.org/ 安装 平台:VMware 开机后进入系统使用setup命令来配置和安装尽量配置一个DNS服务器,比如8.8.8.8 SSH 安装:pkgin install openssh 修改配置文件,需要: 修…...
js的继承你了解多少
实现继承的方式有很多,下面我们来写常用的几种(包括但不限于原型链继承、构造函数继承、组合继承、寄生组合继承、ES6继承): 原型链继承 原型链继承通过修改子类的原型为父类的实例,从而实现子类可以访问到父类构造函…...
Docker 安装与使用
一.、Ubuntu如何安装docker 1、更新apt: sudo apt update 2、安装依赖包 sudo apt install apt-transport-https ca-certificates curl software-properties-common 3、添加Docker的官方GPG密钥: curl -fsSL https://download.docker.com/linux/ubuntu/…...
基于Asp.net的零食购物商城网站
作者:计算机学姐 开发技术:SpringBoot、SSM、Vue、MySQL、JSP、ElementUI、Python、小程序等,“文末源码”。 专栏推荐:前后端分离项目源码、SpringBoot项目源码、Vue项目源码、SSM项目源码、微信小程序源码 精品专栏:…...
FPGA基础 -- Verilog常用关键字
Verilog 是一种硬件描述语言(HDL),用于描述和设计数字电路。下面是 Verilog 的常用语法和关键概念: 1. Verilog 设计结构 Verilog 代码通常由 模块(module) 组成,每个模块表示一个硬件单元&…...
取消请求:axios.
axios.CancelToken和isCancel cancelToken的作用是获取取消函数,用来手动取消接口。 axios.isCancel的作用是在处理错误的时候判断当前错误,是否是由于取消导致的。 使用方式1 const testFun async () > {let cancel: any; // 保存取消函数// 发送…...
Element UI-Select选择器结合树形控件终极版
Element UI Select选择器控件结合树形控件实现单选和多选,并且通过v-model的方式实现节点的双向绑定,封装成vue组件,文件名为electricity-meter-tree.vue,其代码如下: <template><div><el-select:valu…...
粒子群优化算法(Particle Swarm Optimization, PSO)的详细讲解
一、粒子群算法(PSO)基本概念 1. 算法来源 灵感:模拟鸟群或鱼群在觅食过程中的群体协作行为。核心思想:通过个体历史最佳位置和群体全局最佳位置引导搜索方向。2. 与遗传算法的区别 特性PSOGA启发式来源群体协作(鸟类或鱼类行为)生物进化(自然选择、基因重组)解空间搜…...
小菜鸟系统学习Python-迭代实现斐波那契和汉诺塔问题
斐波那契: def fbnq(n):n1 1n2 1n3 1if n<1:print(输入错误,应该大于1)return -1while (n-2)>0:n3 n2 n1n1 n2n2 n3n-1return n3a fbnq(10) print(共有%d个兔子%a)汉诺塔: def hnt(n,x,y,z):if n1:print(x,->,z)else:hnt(n-1,x,z,y)#将前n-1个从x移到y上pri…...
轻松部署 Stable Diffusion WebUI 并实现局域网共享访问:解决 Conda Python 版本不为 3.10.6 的难题
这篇博文主要为大家讲解关于sd webui的部署问题,大家有什么不懂的可以随时问我,如果没有及时回复,可联系:1198965922 如果后续大家需要了解怎么用代码调用部署好的webui的接口,可以在评论区留言哦,博主可以…...
unity文字转语音usherpa-onnx-tts
usherpa-onnx-tts 语音识别(语音转文本、ASR) https://github.com/k2-fsa/sherpa-onnx/releases/tag/asr-models 文本到语音转换 (TTS) https://github.com/k2-fsa/sherpa-onnx/releases/tag/tts-models VAD系列 https://git…...
STM32---FreeRTOS时间片调度实验
一、简介 时间片调度:同等优先级任务轮流地享有相同的CPU时间(可设置),叫时间片,在FreeRTOS中,一个时间片就等于SysTick中断周期; 二、实验 实验设计: 把滴答定时器中断频率设置为…...
探秘 C 语言:编程世界的基石与传奇
一、C 语言的前世今生 C 语言诞生于 20 世纪 70 年代,由贝尔实验室的丹尼斯・里奇(Dennis Ritchie)开发。它最初是为了配合 UNIX 操作系统的开发,旨在提供一种高效、灵活且可移植的编程语言。在那个硬件资源有限的年代࿰…...
MySQL查询语句完全指南:从基础到高阶实战
一、开篇:为什么选择MySQL查询作为切入点? 根据Stack Overflow 2023开发者调查,MySQL以51.1%的使用率蝉联最受欢迎数据库榜首。其查询语句作为数据操作的基石,支撑着全球数百万应用的日常运转。本指南将通过2000字详解和30个实战…...
AJAX 数据库
AJAX 数据库 引言 随着互联网技术的飞速发展,前端与后端之间的交互需求日益增长。AJAX(Asynchronous JavaScript and XML)作为一种强大的技术,在实现这种交互中发挥着关键作用。本文将深入探讨AJAX技术与数据库的融合,分析其在现代Web开发中的应用及其优势。 AJAX简介 …...
正则表达式梳理(基于python)
正则表达式(regular expression)是一种针对字符串匹配查找所定义的规则模式,独立于语言,但不同语言在实现上也会存在一些细微差别,下面基于python对常用的相关内容进行梳理。 文章目录 一、通用常识1.通配符ps.反义 2.…...
Python项目-基于深度学习的校园人脸识别考勤系统
引言 随着人工智能技术的快速发展,深度学习在计算机视觉领域的应用日益广泛。人脸识别作为其中的一个重要分支,已经在安防、金融、教育等多个领域展现出巨大的应用价值。本文将详细介绍如何使用Python和深度学习技术构建一个校园人脸识别考勤系统&#…...
在PyCharm开发环境中,如何建立hello.py文件?
李升伟 整理 一、分析 首先,用户可能是刚接触PyCharm或者Python的新手,所以需要从打开软件开始讲起。不过用户可能已经安装好了PyCharm,但也许需要确认是否已经正确安装。不过问题重点在创建文件,可能不需要深入安装步骤。 接下…...
常见的网络协议介绍
一、什么是网络协议 指的是通信双方的数据发送和接收顺序,数据的封装规则。 通俗解释:描述双方发送和接收的每个字节是按照什么规则。 二、TCP/IP体系的常用协议 (一)应用层 HTTP:超文本协议;指的是用来传输文本网页的协议&#…...
【折线图 Line】——12
🌟 解锁数据可视化的魔法钥匙 —— pyecharts实战指南 🌟 在这个数据为王的时代,每一次点击、每一次交易、每一份报告背后都隐藏着无尽的故事与洞察。但你是否曾苦恼于如何将这些冰冷的数据转化为直观、吸引人的视觉盛宴? 🔥 欢迎来到《pyecharts图形绘制大师班》 �…...
沃丰科技结合DeepSeek大模型技术落地与应用前后效果对比
技术突破:DeepSeek算法创新,显著降低了显存占用和推理成本。仅需少量标注数据即可提升推理能力。这种突破减少了对海量数据的依赖,削弱了数据垄断企业的优势! 商业模式颠覆:DeepSeek选择完全开源模式,迫使…...
基于opencv和dlib的人脸识别定位
cv2 cv2是OpenCV库中的一个模块,OpenCV的Python绑定库。 图像处理功能,还集成了一些高级的计算机视觉算法。 cv2.rectangle 图像上绘制矩形,cv2.rectangle(Numpy图片, 左上坐标, 右下坐标, color, thickness粗度) cv2.cvtColor…...
力扣-字符串
字符串不能被修改,所以如果有想修改字符串的行为,需要转换为StringBuilder StringBuilder里也有很多封装方法String没有,比如reverse() StringBuilder sb new StringBuilder();// 添加字符串 sb.append("Hello"); sb.append(&qu…...
Non-Homophilic Graph Pre-Training and Prompt Learning
Non-Homophilic Graph Pre-Training and Prompt Learning KDD25 #paper/⭐# 目的:对异配图进行prompt 方法 邻居节点的综合嵌入 s v 1 ∣ V ( S v ) ∣ ∑ u ∈ V ( S v ) h u ⋅ s i m ( h u , h v ) , \mathbf{s}_{v}\frac{1}{|V(S_{v})|}\su…...
利用golang embed特性嵌入前端资源问题解决
embed嵌入前端资源,配置前端路由的代码如下 func StartHttpService(port string, assetsFs embed.FS) error {//r : gin.Default()gin.SetMode(gin.ReleaseMode)r : gin.New()r.Use(CORSMiddleware())// 静态文件服务dist, err : fs.Sub(assetsFs, "assets/di…...
10分钟从零开始搭建机器人管理系统(飞算AI)
1. 安装插件 https://www.feisuanyz.com/ 2. Intellij IDEA中运行 创建一个BS架构的机器人远程操控系统,具备机器人状态及位置实时更新,可以实现机器人远程遥控,可以对机器人工作日志进行统计分析,以及其它管理系统的常用功能3…...
C# Enumerable类 之 数据(类型)转换
总目录 前言 在 C# 中,System.Linq.Enumerable 类是 LINQ(Language Integrated Query)的核心组成部分,它提供了一系列静态方法,用于操作实现了 IEnumerable 接口的集合。通过这些方法,我们可以轻松地对集合…...
MariaDB Galera 原理及用例说明
一、底层原理 MariaDB Galera 集群是一种基于同步多主架构的高可用数据库解决方案,适合需要高并发、低延迟和数据强一致性的场景。以下是部署和配置 MariaDB Galera 集群的简明步骤: 1. 环境准备 节点要求:至少 3 个节点(奇数节点…...
HMC7043和HMC7044芯片配置使用
一,HMC7043芯片 MC7043独特的特性是对14个通道分别进行独立灵活的相位管理。所有14个通道均支持频率和相位调整。这些输出还可针对50 Ω或100 Ω内部和外部端接选项进行编程。HMC7043器件具有RF SYNC功能,支持确定性同步多个HMC7043器件,即确保所有时钟输出从同一时钟沿开始…...
Spring Boot 3.0核心特性解读
1.1 JDK 17 LTS支持(实测性能提升) 记录类(Record)与Spring Data JPA完美适配模式匹配简化类型判断密封类(Sealed Class)增强DTO安全性 // 使用Record优化DTOpublic record UserDTO(NotBlank String usern…...
在Qt中使用QFont设置字体样式
在Qt中使用QFont设置字体样式的步骤如下: 1. 创建QFont对象 QFont font;2. 设置字体属性 字体家族:使用setFamily()方法,建议提供备选字体。 font.setFamily("Arial, sans-serif"); // 备选通用字体字体大小: 点大小&…...
Linux网络_应用层自定义协议与序列化_守护进程
一.协议 协议是一种 "约定". socket api 的接口, 在读写数据时, 都是按 "字符串" 的方式来发送接 收的. 如果我们要传输一些 "结构化的数据" 怎么办呢? 其实,协议就是双方约定好的结构化的数据 像下面,两端都知道数据结构…...
c++领域展开第十五幕——STL(String类的模拟实现)超详细!!!!
文章目录 前言string类的模拟实现string类——迭代器的模拟string类——默认成员函数string类——常用函数接口string类——输入输出重载 总结 前言 上篇博客已经简单的介绍了string类的一些接口,并且做了一些了解 同时也刷了一些oj题目,熟练使用一些str…...
解锁Egg.js:从Node.js小白到Web开发高手的进阶之路
一、Egg.js 是什么 在当今的 Web 开发领域,Node.js 凭借其事件驱动、非阻塞 I/O 的模型,在构建高性能、可扩展的网络应用方面展现出独特的优势 ,受到了广大开发者的青睐。它让 JavaScript 不仅局限于前端,还能在服务器端大展身手&…...
2024华为OD机试真题-螺旋数字矩阵-(C++)-E卷D卷-100分
2024华为OD机试题库-(E卷+C卷+D卷)-(JAVA、Python、C++) 目录 题目描述 输入描述 输出描述 用例1 用例2 用例3 考点 解题思路 代码 c++ 题目描述 疫情期间,小明隔离在家,百无聊赖,在纸上写数字玩。他发明了一种写法: 给出数字个数 n (0 < n ≤ 999)和行数 …...
记录若依分离版脚手架升级 springboot 3.X版本 中的报错 以及集成mybatis plus
问题一: Web application could not be started as there was no org.springframework.boot.web.servlet.server.ServletWebServerFactory bean defined in the context.移除父pom中的tomcat相关配置 子pom中增加 SpringBoot Web容器 <!-- SpringBoot Web容器 …...
Docker基础-常见命令与数据卷
(一)常见命令 一、Docker常见命令 使用 docker pull 用来拉取仓库的镜像文件到本地;docker images 用于查看镜像文件;docker rmi 用于删除镜像文件docker build 用于自定义镜像,将来自己写的java项目也是通过这种方式来构建和打包࿱…...