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

系统架构设计师-第1章-计算机系统知识要点

【本章学习建议】

根据考试大纲,本章主要考查系统架构设计师单选题,预计考1分左右。第二版教材2.2节增加了本块内容,但较为简略,需要课程补充,属于非重点内容。

1.1 计算机硬件组成

计算机的基本硬件系统由运算器、控制器、存储器、输入设备和输出设备五大部件组成。(冯・诺依曼结构)

运算器、控制器等部件被集成在一起统称为中央处理单元(CPU)

存储器是计算机系统中的记忆设备,分为内部存储器和外部存储器。前者速度快、容量小,一般用于临时存放程序、数据及中间结果;而后者速度慢、容量大,可长期保存程序和数据。

输入设备和输出设备合称为外部设备(简称外设),输入设备用于输入原始数据及各种命令,而输出设备则用于输出处理结果。

1.2 处理器

CPU主要由运算器、控制器、寄存器组和内部总线等部件组成。

1. 运算器

2. 控制器

运算器只能完成运算操作,而整个运算过程是由控制器来完成,控制器控制整个CPU的工作。

3. 寄存器组

寄存器组分为专用寄存器和通用寄存器。运算器和控制器中的寄存器是专用寄存器。通用寄存器的用途由程序员来决定。

通用寄存器:当ALU执行算术或逻辑运算时,为ALU提供一个工作区。

分类

寄存器

程序员可见

通用寄存器组、程序状态字寄存器(PSW)、程序计数器(PC)、累加寄存器(AC)

程序员不可见

指令寄存器(IR)、数据缓冲寄存器(DR)、地址寄存器(AR)

1.3 指令系统

1. 指令的格式

指令格式: 

操作码OP地址码A

操作码指定要完成的操作或功能,地址码指定参与操作的操作数的地址

2. 指令的寻址方式

·顺序寻址:下一条指令的地址由程序计数器PC给出,PC每次自增+1;

·跳跃寻址:下一条指令的地址由指令本身给出。

3. 操作数的寻址方式

·立即寻址:指令的地址码字段不是操作数的地址,而是操作数本身,速度最快;

·直接寻址:指令的地址码字段给出操作数在内存的地址(操作数在内存中);

·间接寻址:指令的地址码字段给出操作数在内存的地址的地址(操作数在内存中);

·寄存器寻址:指令的地址码字段给出操作数在寄存器的编号(操作数在寄存器中);

·寄存器间接寻址:指令的地址码字段给出寄存器的编号,寄存器中所存的内容为操作数在内存的地址(操作数在内存中);

·相对寻址:指令的地址码字段是一个偏移量,这个偏移量加上程序计数器PC的值即为操作数在内存的地址;

·基址寻址:指令的地址码字段是一个偏移量,这个偏移量加上基址寄存器Rb的值即为操作数在内存的地址;

·变址寻址:指令的地址码字段是一个偏移量,这个偏移量加上变址寄存器Rx的值即为操作数在内存的地址。

计算机指令执行过程:取指令->分析指令->执行指令三个步骤,首先将程序计数器PC中的指令地址取出,送入地址总线,CPU依据指令地址去内存中取出指令内容存入指令寄存器IR;之后由指令译码器进行分析,分析指令操作码;最后取出指令执行所需的源操作数,执行指令。

CPU如何区分指令和数据:CPU根据指令周期的不同阶段来区分二进制的指令和数据,因为在指令周期的不同阶段,指令会命令CPU分别去取指令或数据。

4. 指令集的分类

·CISC指令集:复杂指令集,各条指令按顺序串行执行。

·RISC指令集:精简指令集,减少指令总数,采用优化编译、硬布线、重叠寄存器窗口等技术。

特性

CISC

RISC

指令数目

指令长度

可变长指令

大部分等长指令

控制器复杂性

复杂

简单

寻址方式

较丰富,提高编程灵活性

较少,以提高效率

编程便利性

指令多,编程灵活

编程量更大,采用较多通用寄存器

实现方式

微程序控制技术

采用硬布线逻辑控制优化编译程序,采用流水线技术

5. 指令的流水处理

指令流水线原理:将指令的执行划分成若干个过程段,每个过程段由不同的部件进行处理。

指令流水线的计算

·非流水执行时间:一条指令执行的时间×指令总数

·流水执行时间:第一条指令的执行时间+(n-1)×最长流水段时间,n为指令总数

·加速比:非流水方式与流水方式所用时间之比

·流水线的操作周期:为最长流水段时间

·流水线的吞吐率:为最长流水段时间的倒数

·连续n条指令的吞吐率:指令总数/总时间

1.4 存储器

2. 存储器的分类

按存储器的工作方式可分为:

●随机存取存储器(RAM)

静态随机存储器SRAM,用于Cache

动态随机存储器DRAM,用于主存

特性

SRAM

DRAM

存储元

触发器

电容器

主要用途

Cache

主存

操作

读/写

读/写/周期性刷新

存取速度

稍慢

存储容量

成本

稍高

芯片集成率

●只读存储器存储器(ROM)

ROM分类

擦除方式

擦除速度

可编程次数

固定只读存储器(ROM)

可编程只读存储器(PROM)

-

较慢

一次

可擦除可编程只读存储器(EPROM)

紫外线照射

较慢

较少

电擦除可擦除可编程储存器(EEPROM)

电擦除

较快

100w次左右

闪速存储器(闪存)

电擦除

最快

较少

3. 高速缓存Cache

(1)Cache的功能及原理

高速缓存Cache位于CPU与主存之间,用于存储当前活跃的程序和数据。可以直接与CPU进行数据交互,容量小,速度为主存的5-10倍。其内容是主存的一个拷贝副本,对程序员来说是透明的。

·Cache的功能:解决CPU和主存之间的速度不匹配的问题

·Cache的理论依据:程序的局部性原理

CPU对主存中的指令和数据的访问,在一小段时间内,总是集中在一小块存储空间里。

时间局部性:最近被访问过的指令和数据很可能会被再次访问;

空间局部性:最近访问过的指令和数据往往集中在一小片存储区域中。

(2)主存与Cache的地址映射

在CPU工作时,送出的是主存单元的地址,而应从Cache存储器中读/写信息。这就需要将主存地址转换成Cache的地址,这种地址的转换称为地址映像。由硬件自动完成映射

·全相联映像:主存中的任意一个块可以与Cache中的任意一行相对应。

--映射方法:多对多

--优点:冲突概率小,Cache的利用率高

--缺点:硬件难实现,且需要一个访问速度很快、成本高的相联存储器

--适用场合:小容量Cache

·直接映像:Cache中一行固定对应主存中的多行。如主存块号对Cache总行数求模。

--映射方法:一对多

--优点:硬件实现简单,成本低,地址变换速度快

--缺点:冲突概率高,且Cache空间利用率不高

--适用场合:大容量Cache

·组相联映像:前两种方式的结合。将Cache进行分组,组间采用直接映射方式,组内采用全相联映射方式

--映射方法:一组对多

--优点:综合前两者的优点,又尽量避免其缺点,故被普遍采用

(3)Cache的替换策略

Cache替换算法的目标是使Cache获得尽可能高的命中率

·随机替换算法:从特定的行位置中随机地选取一行换出即可。特点:硬件易实现,速度快;但命中率和工作效率在小容量Cache中不高。

·先进先出算法(First In First Out,FIFO):最先进入Cache的行被换出。

·LFU算法(Least Frequently Used,LFU):被访问的行计数器增加1,值最小的行被换出。特点:不能反映近期cache的访问情况。

·LRU算法(Least Recently Used,LRU):被访问的行计数器置0,其他的计数器增加1,换值最大的行。特点:符合cache的工作原理

(4)Cache的性能指标

当CPU所访问的数据在Cache中时,直接从Cache中读取数据,即命中;否则,需要从主存中读取数据,即未命中。

命中率:在一个程序执行期间,设N_c表示cache完成存取的次数,N_m表示主存完成存取的总次数,ℎ定义为命中率,则有:

4. 磁盘

磁盘有若干个盘片,每个盘片有正反两个盘面,每个盘有多个同心圆,每个同心圆是一个磁道,每个同心圆又被划分为多个扇区,数据就被存放在一个个扇区中。

·存取时间:寻道时间+旋转等待时间+数据传送时间

·寻道时间:将磁头定位至所要求的磁道上所需的时间

·旋转等待时间:寻道完成后至磁道上需要访问的信息到达磁头下的时间,平均等待时间为磁盘旋转一周所需时间的一半

·数据传送时间:读取数据所需的时间

1.5 总线

总线(Bus),是指在计算机中,设备和设备之间传输信息的公共数据通道

总线的分类1

(1)内部总线:CPU内部连接运算器、控制器、各寄存器部件之间的总线。

(2)系统总线(外部总线):CPU和计算机系统中其他高速功能部件相互连接的总线。 按系统总线传输信息内容的不同,又可分为3类:数据总线、地址总线和控制总线。

1)数据总线用来传输各功能部件之间的数据信息,它是双向传输总线,其位数与机器字长、存储字长有关

2)地址总线用来指出数据总线上的源数据或目的数据所在的主存单元或I/O端口的地址,它是单向传输总线,地址总线的位数与主存地址空间的大小有关

3)控制总线传输的是控制信息,包括CPU送出的控制命令和主存(或外设)返回CPU的反馈信号。

(3)I/O总线:中低速I/O设备相互连接的总线。

总线的分类2

按数据传输格式将总线分为串行总线并行总线

总线分类

数据线

特点

应用

串行总线

一条双向数据线或两条单向数据线

速率不高,但适合长距离连接

通信总线(计算机之间或计算机与其他系统之间)

并行总线

多条双向数据线

有传输延迟,适合近距离连接

系统总线(计算机各部件)

常见的总线:

·PCI总线:PCI总线是目前微型机上广泛采用的内总线,采用并行传输方式。

·SCSI总线:小型计算机系统接口(SCSI)是一条并行外总线,广泛用于连接软硬磁盘、光盘、扫描仪等。

·RS-232C(串行外总线)、USB(串行外总线)、IEEE-1394(串行外总线)、IEEE-488(并行外总线)等。

1.6 输入输出技术

CPU与外围设备之间的信息交换方式

·I/O接口与外设之间的信息交换

·CPU与I/O接口之间的信息交换:程序查询方式、程序中断方式、DMA方式、通道方式。

1. 程序查询方式

CPU执行程序来轮询查询外设的状态,判断外设是否准备好接收数据或向CPU输入数据。

--特点:

·CPU与外设串行工作

·硬件结构简单

·CPU大量时间都在查询和等待,资源浪费较多

·需要CPU保存现场,由CPU将数据放入内存

·一次读写单位为字

--适用场合

·低速外设或CPU任务不繁忙的情况

2. 程序中断方式

中断:CPU暂时中止现行程序,转去处理随机发生的紧急事件,处理完成后自动返回原程序的功能和技术。

中断方式:当I/O接口与外设交换数据过程中,CPU无须等待;当交换数据完成时,I/O接口产生中断,通知CPU处理数据。

--特点

·CPU与外设可并行工作

·但硬件结构相对复杂一些,服务开销时间大

·需要CPU保存现场,由CPU将数据放入内存

·一次读写单位为字

--适用场合

·微型机中随机出现的服务

·对I/O处理的实时性要求很高的系统

例如:键盘

中断向量:中断服务程序的入口地址

中断响应时间:从发出中断请求到开始进入中断处理程序;

中断处理时间:从中断处理开始到中断处理结束;

保存现场:为了正确返回原程序继续执行;

单级中断系统:所有中断源属于同一级,离CPU越近优先级越高。执行中断服务程序时不会被打断。

多级中断系统:中断源根据各中断事件的轻重缓急程度不同而分成若干级别,每一中断级分配给一个优先权。一般说来,优先权高的中断级可以打断优先权低的中断服务程序,以程序嵌套方式进行工作多级中断可以嵌套,但同级的中断不允许嵌套;中断响应采用硬件实现;使用堆栈保存现场。

3. DMA方式

直接内存存取(DMA),DMA控制器接管总线的控制权,数据交换不经过CPU,直接在内存和I/O设备间进行成块传送。

--特点

·CPU与外设可并行工作

·仅在传送数据块的开始和结束时才需要CPU的干预

·不需要CPU保护现场

·由外设直接将数据放入内存(或相反)

·一次读写单位为块,传送一个数据占用一个存储周期

--适用场合

·微型机中内存与高速外围设备进行大批量的数据交换

4. 输入/输出处理机IOP(通道方式)

由通道(输入输出处理机IOP)管理外围设备。

--特点

·大大提高了CPU的效率

·但需要更多的硬件

--适用场合

·处理外设较多,规模较大的情形(大型机

相关文章:

系统架构设计师-第1章-计算机系统知识要点

【本章学习建议】 根据考试大纲,本章主要考查系统架构设计师单选题,预计考1分左右。第二版教材2.2节增加了本块内容,但较为简略,需要课程补充,属于非重点内容。 1.1 计算机硬件组成 计算机的基本硬件系统由运算器、控…...

Linux -- 初识HTTP协议

目录 什么是HTTP协议 什么是 URL ? 理解 URL 初识HTTP 请求与响应格式 代码验证 gitee HTTP.hpp 结果 什么是HTTP协议 HTTP(HyperText Transfer Protocol,超文本传输协议)主要用于客户端(通常是浏览器&#…...

【已解决】我和ollama运行的qwen2.5大模型通信,总是返回GGGG?

起因: 和大模型通信的时候,总是返回 GGG 之类的乱码。 curl查询返回到结果: 既然curl通信不行,直接在控制台聊天呢? 话都说不明白,我火了,结果一查,我熄火了,是ollama…...

在Mac mini上实现本地话部署AI和知识库

在Mac mini上实现本地话部署AI和知识库 硬件要求:大模型AI,也叫LLM,需要硬件支持,常见的方式有2种:一种是采用英伟达之类支持CUDA库的GPU芯片或者专用AI芯片;第二种是采用苹果M系列芯片架构的支持统一内存架…...

SQL和MySQL以及DAX的日期表生成?数字型日期?将生成的日期表插入到临时表或者实体表中

几种生成日期表的方法 如何用SQL语句生成日期表呢? 如何用MySQL语句生成日期表呢? 如何用DAX语句生成日期表呢? 1. MySQL生成日期表 1.1 日期格式:yyyy-MM-dd 字符型 2024-01-02 -- 生成日期表 WITH RECURSIVE temp_dateTable …...

win32汇编环境,窗口程序中基础列表框的应用举例

;运行效果 ;win32汇编环境,窗口程序中基础列表框的应用举例 ;比如在窗口程序中生成列表框,增加子项,删除某项,取得指定项内容等 ;直接抄进RadAsm可编译运行。重点部分加备注。 ;以下是ASM文件 ;>>>>>>>>>>>…...

Sentinel配置流控规则详解

前言 在微服务架构中,流量控制(Flow Control)是保障服务稳定性的重要手段之一。Sentinel作为一款开源的流量控制、熔断降级Java库,以其丰富的应用场景和完善的监控能力,在微服务保护中扮演了重要角色。本文将详细介绍…...

opencv图像基础学习

2.3图像的加密解密 源码如下: import cv2 import numpy as np import matplotlib.pyplot as plt def passImg():imgcv2.imread(./image/cat.jpg,0)h,wimg.shape#生成一个密码,加密key_imgnp.random.randint(0,256,size(h,w),dtypenp.uint8)img_addmcv2…...

递归40题!再见递归

简介:40个问题,有难有易,均使用递归完成,需要C/C的指针、字符串、数组、链表等基础知识作为基础。 1、数字出现的次数 由键盘录入一个正整数,求该整数中每个数字出现的次数。 输入:19931003 输出&#xf…...

javadoc使用dos命令生成api文档演示

新建一个文本后缀改java,名字改为类名 文本内容: /** * author ZZJ * version jdk23.0.1 */ public class Test{/*** 求输入两个参数范围以内整数的和* param n 接收的第一个参数,范围起点* param m 接收的第二个参数,范围终点*…...

OpenAI推出首个AI Agent!日常事项自动化处理!

2025 年1月15日,OpenAI 正式宣布推出一项名为Tasks的测试版功能 。 该功能可以根据你的需求内容和时间实现自动化处理。比方说,你可以设置每天早晨 7 点获取天气预报,或定时提醒遛狗等日常事项。 看到这里,有没有一种熟悉的感觉&a…...

uniapp实现“到这儿去”、拨打电话功能

"到这儿去" 在 UniApp 中实现“到这儿去”的功能,即调起地图导航至指定位置,对于不同的平台(小程序、H5、App)有不同的处理方式。下面将简单介绍如何在这些平台上实现该功能,并讨论位置信息的获取。后面需求会用到,先来找一些相关资料,并不一定很准确,但也来…...

T-SQL语言的计算机基础

T-SQL语言的计算机基础 引言 在当今信息技术迅猛发展的时代,数据已成为企业和组织决策的重要基础。而处理和管理数据的工具和语言也日益成为IT专业人员必备的技能之一。T-SQL(Transact-SQL)作为微软SQL Server数据库的扩展,是一…...

SpringBoot + Websocket实现系统用户消息通知

1、引入依赖 <parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.7.7</version><relativePath/> </parent> <dependencies><dependency>…...

基于 HTML5 Canvas 制作一个精美的 2048 小游戏--day 1

基于 HTML5 Canvas 制作一个精美的 2048 小游戏 在这个快节奏的生活中&#xff0c;简单而富有挑战性的游戏总能给我们带来乐趣。2048 是一款受欢迎的益智游戏&#xff0c;不仅考验智力&#xff0c;还能让人回味无穷。今天&#xff0c;我带领大家将一起学习如何使用 HTML5 Canv…...

macos arm 本地/docker/本地k8s 安装jupyterhub 并登陆

概述 很多文章写的启动官方docker镜像后,新建linux用户即可直接登录,不知道是否版本原因,总之目前最新版我亲测不可以,踩坑两天,这里记录下解决过程,以及各种细节在文档中的位置.以及为什么官方镜像不能直接使用的原因. part1 本地安装jupyterhub https://jupyterhub.readth…...

go采集注册表

package mainimport ("fmt""golang.org/x/sys/windows/registry""log""os""strconv""strings" )func USBSTOR_Enum() {// 打开注册表键keyPath : SYSTEM\CurrentControlSet\Services\USBSTOR\Enumk, err : regist…...

Java连接TDengine和MySQL双数据源

git文件地址&#xff1a;项目首页 - SpringBoot连接TDengine和MySQL双数据源:SpringBoot连接TDengine和MySQL双数据源 - GitCode 1、yml配置 spring:datasource:druid:mysql:driver-class-name: com.mysql.cj.jdbc.Driverurl: jdbc:mysql://localhost:3306/testusername: roo…...

配置AOSP下载环境

1#curl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo 2#repo init -u https://android.googlesource.com/platform/manifest 3#清华镜像站帮助页 https://mirrors.tuna.tsinghua.edu.cn/help/AOSP/ 4#同步安卓AOSP 这里是安卓13 repo init -u htt…...

SpringBoot源码解析(七):应用上下文结构体系

SpringBoot源码系列文章 SpringBoot源码解析(一)&#xff1a;SpringApplication构造方法 SpringBoot源码解析(二)&#xff1a;引导上下文DefaultBootstrapContext SpringBoot源码解析(三)&#xff1a;启动开始阶段 SpringBoot源码解析(四)&#xff1a;解析应用参数args Sp…...

5 分钟复刻你的声音,一键实现 GPT-Sovits 模型部署

想象一下&#xff0c;只需简单几步操作&#xff0c;就能生成逼真的语音效果&#xff0c;无论是为客户服务还是为游戏角色配音&#xff0c;都能轻松实现。GPT-Sovits 模型&#xff0c;其高效的语音生成能力为实现自然、流畅的语音交互提供了强有力的技术支持。本文将详细介绍如何…...

数字化时代,传统代理模式的变革之路

在数字化飞速发展的今天&#xff0c;线上线下融合&#xff08;O2O&#xff09;成了商业领域的大趋势。这股潮流&#xff0c;正猛烈冲击着传统代理模式&#xff0c;给它带来了新的改变。 咱们先看看线上线下融合现在啥情况。线上渠道那是越来越多&#xff0c;企业纷纷在电商平台…...

python爬虫爬取淘宝商品比价||淘宝商品详情API接口

最近在学习北京理工大学的爬虫课程&#xff0c;其中一个实例是讲如何爬取淘宝商品信息&#xff0c;现整理如下&#xff1a; 功能描述&#xff1a;获取淘宝搜索页面的信息&#xff0c;提取其中的商品名称和价格 探讨&#xff1a;淘宝的搜索接口 翻页的处理 技术路线:requests…...

HunyuanVideo 文生视频模型实践

HunyuanVideo 文生视频模型实践 flyfish 运行 HunyuanVideo 模型使用文本生成视频的推荐配置&#xff08;batch size 1&#xff09;&#xff1a; 模型分辨率(height/width/frame)峰值显存HunyuanVideo720px1280px129f60GHunyuanVideo544px960px129f45G 本项目适用于使用 N…...

CSRF攻击XSS攻击

概述 ​在 HTML 中&#xff0c;<a>, <form>, <img>, <script>, <iframe>, <link> 等标签以及 Ajax 都可以指向一个资源地址&#xff0c;而所谓的跨域请求就是指&#xff1a;当前发起请求的域与该请求指向的资源所在的域不一样。这里的域指…...

vue3学习日记8 - 一级分类

最近发现职场前端用的框架大多为vue&#xff0c;所以最近也跟着黑马程序员vue3的课程进行学习&#xff0c;以下是我的学习记录 视频网址&#xff1a; Day2-17.Layout-Pinia优化重复请求_哔哩哔哩_bilibili 学习日记&#xff1a; vue3学习日记1 - 环境搭建-CSDN博客 vue3学…...

Notepad++移除所有空格

1.打开Notepad。 2.打开你想要编辑的文件。 3.按下 Ctrl H 打开查找和替换对话框&#xff0c;并选择 “正则表达式”。 4.在 “查找目标” 框中输入 \s。 5.在 “替换为” 框中留空&#xff0c;不填写任何内容。 6.点击 “全部替换” 按钮。...

JavaSE第八天

一、继承之super关键字 super关键字&#xff1a; 一个引用变量&#xff0c;用于引用父类对象 父类和子类都具有相同的命名方法&#xff0c;要调用父类方法时使用 父类和子类都具有相同的命名属性&#xff0c;要调用父类中的属性时使用 super也是父类的构造函数&#xff0c;…...

ideal jdk报错如何解决

例如: 可能一:环境变量中未配置 请在Path中加入并将要使用的最好置顶,如 可能二:项目结构中语言级别错误: 可能三:Maven工程中,对于模块要单独设置jdk: 如: 未设置则为默认,在博主本次展示中为:...

嵌入式Linux ntpclient的使用

ntpclient是一个用于与NTP&#xff08;Network Time Protocol&#xff0c;网络时间协议&#xff09;服务器通信并测量系统时间的工具。我这里用的是"ntpclient_2024_132"。下载源码编译后会得到一个ntpclient程序。 下面是对ntpclient每个选项的解释&#xff1a; -…...

25/1/15 嵌入式笔记 初学STM32F108

GPIO初始化函数 GPIO_Ini&#xff1a;初始化GPIO引脚的模式&#xff0c;速度和引脚号 GPIO_Init(GPIOA, &GPIO_InitStruct); // 初始化GPIOA的引脚0 GPIO输出控制函数 GPIO_SetBits&#xff1a;将指定的GPIO引脚设置为高电平 GPIO_SetBits(GPIOA, GPIO_Pin_0); // 将GPIO…...

【练习】力扣热题100 字符串解码

题目 给定一个经过编码的字符串&#xff0c;返回它解码后的字符串。 编码规则为: k[encoded_string]&#xff0c;表示其中方括号内部的 encoded_string 正好重复 k 次。注意 k保证为正整数。 你可以认为输入字符串总是有效的&#xff1b;输入字符串中没有额外的空格&#xff0c…...

1.快慢指针-力扣-283-移动零

题目描述 给定一个数组 nums&#xff0c;编写一个函数将所有 0 移动到数组的末尾&#xff0c;同时保持非零元素的相对顺序。 请注意 &#xff0c;必须在不复制数组的情况下原地对数组进行操作。 用例 示例 1: 输入: nums [0,1,0,3,12] 输出: [1,3,12,0,0] 示例 2: 输入: nu…...

5. 使用springboot做一个音乐播放器软件项目【业务逻辑开发】

#万物oop 上一章文章 我们做了音乐播放器 数据表的创建。参加地址&#xff1a; https://blog.csdn.net/Drug_/article/details/145093705 今天分享的这篇文章就是根据数据表 来写 业务逻辑 。 今天我们主要是实现管理后台的功能。 对于这篇文章 的理解 需要小伙伴有 springbo…...

配置正确spring-boot工程启动的时候报错dynamic-datasource Please check the setting of primary

一个两年没有碰的spring-boot工程&#xff0c;启动时报错。因为用了baomidou的多源数据库配置&#xff0c;因此启动时报错primary没有正确配置。经过检查&#xff0c;确定配置文件配置正确。 报错原因是没有读到正确的配置文件。pom文件里的resources标签重定义&#xff0c;把…...

Freeswitch使用media_bug能力实现回铃音检测

利用freeswitch的media bug能力来在智能外呼时通过websocket对接智能中心的声音检测接口&#xff0c;来实现回铃音检测&#xff0c;来判断用户当前是否已响应&#xff0c;拒接&#xff0c;关机等。 1.回铃音处理流程 2.模块源码目录结构 首先新建一个freeswitch的源码的src/a…...

Kubernetes(k8s)和Docker Compose本质区别

Kubernetes&#xff08;简称 k8s&#xff09;和 Docker Compose 是容器编排领域的两大重要工具&#xff0c;虽然它们都用于管理和编排容器化应用&#xff0c;但在设计目标、功能特性、使用场景和复杂度上存在显著差异。以下将从多个方面详细探讨 Kubernetes 和 Docker Compose …...

OSI七层协议——分层网络协议

OSI七层协议&#xff0c;顾名思义&#xff0c;分为七层&#xff0c;实际上七层是不存在的&#xff0c;是人为的进行划分,让人更好的理解 七层协议包括&#xff0c;物理层(我),数据链路层(据),网络层(网),传输层(传输),会话层(会),表示层(表),应用层(用)(记忆口诀->我会用表…...

RabbitMQ 客户端 连接、发送、接收处理消息

RabbitMQ 客户端 连接、发送、接收处理消息 一. RabbitMQ 的机制跟 Tcp、Udp、Http 这种还不太一样 RabbitMQ 服务&#xff0c;不是像其他服务器一样&#xff0c;负责逻辑处理&#xff0c;然后转发给客户端 而是所有客户端想要向 RabbitMQ服务发送消息&#xff0c; 第一步&a…...

SQL ON与WHERE区别

在 MySQL 中&#xff0c;ON 和 WHERE 都用于过滤数据&#xff0c;但它们的使用场景和作用有所不同&#xff0c;尤其是在涉及 JOIN 操作时。下面通过具体的例子来说明它们的区别。 1. ON 的作用 ON 用于指定表之间的连接条件&#xff0c;决定哪些行应该被连接在一起。它在 JOI…...

[创业之路-254]:《华为数字化转型之道》-1-华为是一个由客户需求牵引、高度数字化、高度智能化、由无数个闭环流程组成的价值创造、评估、分配系统。

前言&#xff1a; 华为是一个由客户需求牵引、高度数字化、高度智能化、由无数个闭环流程组成的价值创造、评估、分配系统。华为的流程大到战略&#xff0c;小到日常工作&#xff0c;是由无数个自我调节自我优化的数字化闭环控制流程组成&#xff0c;大闭环套小闭环&#xff0…...

免费为企业IT规划WSUS:Windows Server 更新服务 (WSUS) 之快速入门教程(一)

哈喽大家好&#xff0c;欢迎来到虚拟化时代君&#xff08;XNHCYL&#xff09;&#xff0c;收不到通知请将我点击星标&#xff01;“ 大家好&#xff0c;我是虚拟化时代君&#xff0c;一位潜心于互联网的技术宅男。这里每天为你分享各种你感兴趣的技术、教程、软件、资源、福利…...

异步任务与定时任务

一、异步任务 基于TaskExecutionAutoConfiguration配置类中&#xff0c;注册的ThreadPoolTaskExecutor线程池对象进行异步任务执行。 (一)手动执行异步任务 在yml中配置线程池参数 spring: task:execution:pool:core-size: 5 # 核心线程数max-size: 20 # 最大线…...

大模型WebUI:Gradio全解11——Chatbot:融合大模型的多模态聊天机器人(5)

大模型WebUI&#xff1a;Gradio全解11——Chatbot&#xff1a;融合大模型的多模态聊天机器人&#xff08;5&#xff09; 前言本篇摘要11. Chatbot&#xff1a;融合大模型的多模态聊天机器人11.5 Chatbot的特殊Events11.5.1 各事件总演示11.5.2 详解.undo、.retry、.like和.edit…...

32单片机综合应用案例——基于GPS的车辆追踪器(三)(内附详细代码讲解!!!)

困难不会永远存在&#xff0c;只要你勇于面对&#xff0c;坚持努力&#xff0c;就一定能够战胜一切困难。每一次挑战都是一次成长的机会&#xff0c;不要害怕失败&#xff0c;失败是成功之母。只有经历过失败&#xff0c;你才能更加明白自己的不足&#xff0c;并不断改进自己&a…...

扣除价格因素与剔除季节性因素:统计数据中的“真实”增长(中英双语)

扣除价格因素与剔除季节性因素&#xff1a;统计数据中的“真实”增长 在经济统计分析中&#xff0c;我们经常会听到“扣除价格因素”和“剔除季节性因素”这两个概念。这两者都是为了排除外部干扰因素&#xff0c;真实反映经济活动的增长情况。它们分别针对价格波动和季节性波…...

网卡接收报文的过程

网卡接收报文的过程通常包括以下几个关键步骤&#xff1a; 1. 硬件接收&#xff1a; • 网卡硬件首先接收到从网络传输过来的数据包。网络接口卡&#xff08;NIC&#xff09;负责将接收到的电信号转换为数字信号&#xff0c;并存储到一个硬件缓冲区中。 2. DMA传输&#xff…...

Windows图形界面(GUI)-QT-C/C++ - QT 对话窗口

公开视频 -> 链接点击跳转公开课程博客首页 -> ​​​链接点击跳转博客主页 目录 模态对话框 非模态对话框 文件对话框 基本概念 静态函数 常见属性 颜色对话框 基本概念 静态函数 常见属性 字体对话框 基本概念 静态函数 常见属性 输入对话框 基本概念 …...

bypass--2025春秋杯冬季赛

漏洞点 题目不难&#xff0c;这个循环赋值的结束条件是s[i]0&#xff0c;并且s和key再栈上的位置是挨着的 那么很容易想到&#xff0c;第二次循环赋值的时候&#xff0c;有一个溢出&#xff0c;溢出部分的值是第一次写入的key的值。 那么基本思路就是&#xff0c;利用这段溢出…...

学习微信小程序的下拉列表控件-picker

1、创建一个空白工程 2、index.wxml中写上picker布局&#xff1a; <!--index.wxml--> <view class"container"><picker mode"selector" range"{{array}}" bindchange"bindPickerChange"><view class"pick…...