计算机组成与体系结构:存储器(Memory)
目录
📁 当你打开一个文件,计算机会做什么?
⚡ 越大的 memory,访问速度越快吗?
🧠 那么,我们是怎么设计存储器的呢?
Primary Memory(主存)登场!
DRAM(动态随机存取存储器)
SRAM(静态随机存取存储器)
Primary Memory 的典型工作流程
Secondary Memory(二级存储)
Secondary Memory 的典型设备
Secondary Memory 的访问方式
为什么访问速度比主存慢?
CPU 怎么访问存储器?
第一步:🔍 CPU 优先找 Cache
第二步:🚪Cache 没有怎么办?去找 主存(Main Memory)
第三步:📂主存也没有怎么办?去找 Secondary Memory(二级存储)
📁 当你打开一个文件,计算机会做什么?
想象一下你在电脑里打开一个视频。点开那一刻,计算机会做什么?
本质上,你的电脑要找到那个视频文件,读出数据,传给CPU解码和播放。所以最初的问题是:
“数据文件存在哪儿?我怎么能快速拿到它?”
从第一性原理来看,数据存储的本质就是:把信息(0 和 1)稳定地放在某种介质上,等需要时再读回来。最原始的存储方式是磁带、磁盘(比如硬盘),它们可以存很多东西,但读取速度很慢。这就产生了我们第一个认知冲突:
⚡ 越大的 memory,访问速度越快吗?
❓“既然硬盘能存几TB,为什么不让 CPU 直接用硬盘?”是不是 memory 越大,access time 越小?
从第一性原理看,这是不可能的。
-
物理规律告诉我们:想要更大容量,通常要放更多单元;更多单元意味着更远的距离或更复杂的电路,于是速度慢。
-
相反,越快的存储,通常是物理结构更简单、距离更短,但这意味着空间小而昂贵。
因此,memory 越大,access time 通常是越长的,这也是计算机设计里非常关键的一个矛盾点。
同时,CPU频率越高,反而效率低。这是因为:
CPU完成任务太快,其他设备(比如内存、硬盘)跟不上,导致CPU大多数时间都在“等”数据,反而没干活。
🧠 那么,我们是怎么设计存储器的呢?
我们来看看“打开文件”这个例子里 memory 的角色。
🪨 最开始:Second Memory(二级存储)
你的视频文件被保存在 硬盘 或 **固态硬盘(SSD)**里,这是所谓的:
Secondary Memory(二级存储)
当你打开一个文件,操作系统先从 Second Memory 读入文件内容。
这时,问题来了:
“如果每次都直接从硬盘里读数据,会不会太慢了?”
答案是:是的,真的太慢了!
于是我们就需要更快的地方来放这个数据,让 CPU 能快速用 —— 这就引出了:Primary Memory(主存)
Primary Memory(主存)登场!
这个名字不是随便起的。
-
“Primary” 表示**“第一位”**、“主要的”。
-
它是 CPU 访问的第一存储层次,是直接和 CPU 通信的数据源头。
-
与之相对的是 Secondary Memory,它不直接参与程序运行,只负责长期存储。
这就是我们常说的 RAM 随机存取存储器(Random Access Memory),计算机运行程序和数据的主战场。
-
特点:速度比硬盘快很多,电一断就全没了
-
存储的不是全部数据,而是当前“正在用”的部分
-
CPU 可以在任意时间,直接访问内存中的任意一个位置,访问速度都差不多,不用排队、也不用顺序读。(Random)
当你点开文件时,系统会把文件从硬盘读到主存中,再由 CPU 来使用主存中的数据。
那么主存又是怎么实现的呢?
DRAM(动态随机存取存储器)
全称:Dynamic Random Access Memory
为什么叫“动态”?
因为它存储 0 或 1 用的是一个小电容器(像一个蓄水池),电荷会自动泄漏,所以必须定时刷新——这就是“动态”的来源。
⚙️ 构造和工作原理:
-
一个 bit 是由 一个电容 + 一个晶体管 构成。
-
电容充电为 1,不充为 0。
-
由于电会漏掉,所以需要 周期性刷新(refresh)。
✅ 优点:
-
结构简单,单个单元非常小,所以可以做到容量大。
-
成本相对较低。
❌ 缺点:
-
需要刷新,速度比 SRAM 慢。
-
不适合频繁读写的小数据块操作。
所以主要用于 主内存(RAM),这就是我们电脑中内存条(比如 8GB、16GB DDR4)的核心技术。
SRAM(静态随机存取存储器)
全称:Static Random Access Memory
为什么叫“静态”?
因为它一旦写入了 0 或 1,就能一直保持状态,不需要像 DRAM 那样不断刷新。
⚙️ 构造和工作原理:
-
用 6 个晶体管做成一个稳定电路,可以记住一个 bit。
-
不靠电容,不存在漏电问题。
✅ 优点:
-
速度极快,不需要刷新。
-
稳定可靠,适合高速缓存使用。
❌ 缺点:
-
结构复杂,占用空间大。
-
造价高,不适合做大容量。
这就是为什么它被用在 CPU 内部的 Cache(L1/L2/L3) 里,作为 Primary Memory 的一部分,但仅用于极高频的操作。
Primary Memory 的典型工作流程
我们还是用“打开视频文件”的例子:
-
你打开视频,系统从硬盘读取数据。
-
把数据放到主存(DRAM)里,这是 Primary Memory。
-
CPU 从 DRAM 中拿数据。
-
如果有些数据频繁访问,就会被自动缓存进 SRAM Cache 中,加速下一次访问。
所以 Primary Memory 的核心角色是:
“给 CPU 准备好、随时能用的数据区”
它不管文件长存在哪里(那是硬盘的事),也不管最重要的数据被缓存在哪里(那是 Cache 的事),它就是中间的“主力军”,连接了 CPU 和磁盘。
Secondary Memory(二级存储)
我们先想象一个常见的场景:
你正在写文档,突然断电了,电脑重启之后,什么都没保存下来……
为什么会这样?
因为你写的内容暂时保存在了 Primary Memory(主存) 中,一旦断电就全丢了。
这暴露了一个主存(比如 DRAM)天生的缺陷:
它是“易失性”的(Volatile)—— 电一断,数据就没了。
从第一性原理看:
-
我们要有一种不依赖持续供电也能保持数据状态的存储方式。
-
同时还希望能存储很多很多数据(整个系统的照片、文档、视频等)。
于是,工程师们设计出了一个新的存储层级:二级存储
名字的由来:
-
“Secondary” 表示它在访问顺序中不是第一优先级,但仍然是不可或缺的一层。
-
它与主存不同,不直接和 CPU 通信,而是通过操作系统调度参与。
Secondary Memory 的定义:
用于长期保存数据、非易失性的存储设备,如硬盘、固态硬盘、U盘等。
问题 | 谁来解决? | 原因 |
---|---|---|
数据必须长期保存 | Secondary Memory | 主存断电就丢 |
主存太贵,容量不够 | Secondary Memory | 容量更大,成本低 |
启动电脑,数据要从哪来? | Secondary Memory | 包含系统、程序、文件等 |
Secondary Memory 的典型设备
-
HDD(硬盘,Hard Disk Drive):
-
利用磁性材料记录 0/1。
-
机械臂读写,容量大,成本低。
-
速度慢,易受震动影响。
-
-
SSD(固态硬盘,Solid State Drive):
-
用闪存(Flash memory)技术存储。
-
没有机械结构,速度快。
-
成本比 HDD 高,但在逐渐取代 HDD。
-
-
USB闪存盘、SD卡等:
-
同样基于 Flash。
-
容量适中,便于移动。
-
-
光盘(CD/DVD):
-
现在较少用,但依然是 Secondary Memory 一种。
-
Secondary Memory 的访问方式
因为它不直接和 CPU 通信,所以它的访问方式如下:
-
当你打开一个程序(比如 Word),操作系统会:
-
从 Secondary Memory(比如硬盘)中读取程序代码。
-
把它加载进 Primary Memory(RAM)中。
-
-
CPU 接下来只和 RAM 打交道,不直接操作硬盘。
-
如果程序需要读取更多数据(如打开一个大视频),操作系统会按需从 Secondary Memory 再取一部分放进 RAM。
为什么访问速度比主存慢?
从第一性原理看:
-
Secondary Memory 关注的是容量大、存储持久,因此使用的技术(磁盘或 Flash)不以“纳秒级速度”设计。
-
而 Primary Memory 是 CPU 的直接数据供应商,强调的是极致速度和响应时间。
-
所以,在物理结构、材料、功耗策略上,二者天生差异巨大。
CPU 怎么访问存储器?
当 CPU 想要读取一份数据(比如一个文档、一张图片)时,它到底去哪找?
第一步:🔍 CPU 优先找 Cache
为什么?
CPU 是整个计算机系统中最快的“执行者”。它的速度非常快,思考的速度以纳秒计(十亿分之一秒),所以它不能等。
从第一性原理看:
既然 CPU 不能等,那我们就必须把最可能被用到的数据,提前放到离它最近的位置。
这个“最近的地方”就是 —— Cache(高速缓存)
第二步:🚪Cache 没有怎么办?去找 主存(Main Memory)
如果 Cache 里没有数据(称为Cache Miss),那就只能去下一个层级——主存。
主存就是我们平时说的 “内存条” 所代表的空间,最常见的类型是 DRAM(动态随机访问内存)。
为什么要有主存?
从根本上看:
-
Cache 太贵,容量太小,放不了太多东西。
-
所以我们用主存作为一个容量更大、但速度稍慢的临时存放空间。
你可以把主存理解为一个大一点的书桌,虽然离 CPU 稍远一点,但可以放下更多的数据和程序。
第三步:📂主存也没有怎么办?去找 Secondary Memory(二级存储)
有些情况更极端,比如:
你打开电脑上一个几 GB 的视频,但内存已经快满了……
这时候,主存也放不下更多东西了,怎么办?
系统就会启动“调页机制”(paging)——
把不常用的数据“换出去”,放回二级存储,比如你的硬盘或固态硬盘(SSD)。
当你又需要这些数据时,系统会:
-
从二级存储里读取一页(page)数据,
-
放进主存,
-
然后由主存再传给 Cache,最后到 CPU。
访问层级 | 设备 | 特征 | 发生的典型情况 |
---|---|---|---|
第1层 | Cache | 非常小、极快 | CPU 正常工作中优先访问 |
第2层 | Main Memory(主存) | 较大、速度一般 | Cache Miss,程序运行中频繁读取数据 |
第3层 | Secondary Memory(二级存储) | 非易失、容量大、速度最慢 | 程序刚打开,或主存不够时加载数据 |
因此,CPU 并不是直接访问硬盘,而是:
Cache → RAM(DRAM)→ 硬盘(Secondary Memory)
你可以把它比喻为:
-
Cache 是你手边的便利贴;
-
主存是你办公桌上的文档堆;
-
硬盘是你办公室角落的文件柜;
相关文章:
计算机组成与体系结构:存储器(Memory)
目录 📁 当你打开一个文件,计算机会做什么? ⚡ 越大的 memory,访问速度越快吗? 🧠 那么,我们是怎么设计存储器的呢? Primary Memory(主存)登场ÿ…...
MyBatis框架—xml映射
目录 一.为什么需要进行手动映射? 二.关联查询 1.使用resultMap进行映射 2.使用Connection进行映射 一.为什么需要进行手动映射? 当我们设计多表查询或关联查询时,表中含有相同的字段名或要进行关联查询时,MyBatis无法智能识别如何处理映射结果&…...
Vue接口平台学习十——接口用例页面2
效果图及简单说明 左边选择用例,右侧就显示该用例的详细信息。 使用el-collapse折叠组件,将请求到的用例详情数据展示到页面中。 所有数据内容,绑定到caseData中 // 页面绑定的用例编辑数据 const caseData reactive({title: "",…...
Visual Studio 2022 运行一个后台程序而不显示控制台窗口
在 Visual Studio 2022 中,希望运行一个后台程序而不显示控制台窗口(黑色命令框),可以通过以下方法实现: 修改项目输出类型为 Windows 应用程序 右键项目 → 选择 属性 (Properties)在 配置属性 → 链接器 → 系统 (…...
剑指Offer(数据结构与算法面试题精讲)C++版——day17
剑指Offer(数据结构与算法面试题精讲)C版——day17 题目一:节点值之和最大的路径题目二:展平二叉搜索树题目三:二叉搜索树的下一个节点附录:源码gitee仓库 题目一:节点值之和最大的路径 题目&am…...
opencv函数展示4
一、形态学操作函数 1.基本形态学操作 (1)cv2.getStructuringElement() (2)cv2.erode() (3)cv2.dilate() 2.高级形态学操作 (1)cv2.morphologyEx() 二、直方图处理函数 1.直方图…...
10天学会嵌入式技术之51单片机-day-3
第九章 独立按键 按键的作用相当于一个开关,按下时接通(或断开),松开后断开(或接通)。实物图、原理图、封装 9.2 需求描述 通过 SW1、SW2、SW3、SW4 四个独立按键分别控制 LED1、LED2、LED3、LED4 的亮…...
DeepSeek智能时空数据分析(二):3秒对话式搞定“等时圈”绘制
序言:时空数据分析很有用,但是GIS/时空数据库技术门槛太高 时空数据分析在优化业务运营中至关重要,然而,三大挑战仍制约其发展:技术门槛高,需融合GIS理论、SQL开发与时空数据库等多领域知识;空…...
第 7 篇:总结与展望 - 时间序列学习的下一步
第 7 篇:总结与展望 - 时间序列学习的下一步 (图片来源: Guillaume Hankenne on Pexels) 恭喜你!如果你一路跟随这个系列走到了这里,那么你已经成功地完成了时间序列分析的入门之旅。我们从零开始,一起探索了时间数据的基本概念、…...
计算机视觉中的正则化:从理论到实践的全面解析
🌟 计算机视觉中的正则化:从理论到实践的全面解析🌟 大家好!今天要和大家分享的是在计算机视觉(CV)领域中非常重要的一个概念——正则化(Regularization)。无论你是刚开始接触深度学…...
解决使用hc595驱动LED数码管亮度低的问题
不知道大家在做项目的时候有没有遇到使用hc595驱动LED数码管亮度低的问题(数码管位数较多),如果大佬们有好的方法的可以评论区留言 当时我们解决是换成了天微的驱动芯片,现在还在寻找新的解决办法(主要软件不花钱&…...
Allegro23.1新功能之4K显示器页面显示不全如何解决操作指导
Allegro23.1新功能之4K显示器页面显示不全如何解决操作指导 Allegro升级到了23.1的时候,可能会出现界面显示不全的情况,如下图 是因为4K高清显示器的原因导致的 如何解决,具体操作如下 我的电脑,右键选择属性 点击高级系统设置 …...
C++——STL——容器deque(简单介绍),适配器——stack,queue,priority_queue
目录 1.deque(简单介绍) 1.1 deque介绍: 1.2 deque迭代器底层 1.2.1 那么比如说用迭代器实现元素的遍历,是如何实现的呢? 1.2.2 头插 1.2.3 尾插 1.2.4 实现 编辑 1.2.5 总结 2.stack 2.1 函数介绍 2.2 模…...
网络原理——UDP
1、 与TCP的关键区别 特性UDPTCP连接方式无连接面向连接可靠性不可靠可靠数据顺序不保证顺序保证顺序传输速度更快相对较慢头部开销8字节20-60字节流量控制无有拥塞控制无有适用场景实时应用、广播/多播可靠性要求高的应用 2、UDP 报文结构 报文结构大致可以分为首部和载荷&a…...
下载pycharm遇到的问题及解决方法
下载和安装 PyCharm 时可能会遇到一些具体问题,以下是一些常见问题及其解决方法: 常见问题及解决方法 下载速度慢或下载中断 解决方法: 检查你的互联网连接,并重启路由器。尝试使用不同的网络连接(如使用移动热点&…...
微硕WSP4407A MOS管在智能晾衣架中的应用与市场分析
微硕WSP4407A MOS管在智能晾衣架中的应用与市场分析 一、引言 智能晾衣架作为一种现代化的家居设备,其核心部件之一是驱动电路,而MOS管作为驱动电路中的关键元件,其性能直接影响到智能晾衣架的运行效率和稳定性。微硕半导体推出的WSP4407A …...
Java 性能优化:如何利用 APM 工具提升系统性能?
Java 性能优化:如何利用 APM 工具提升系统性能? 在当今竞争激烈的软件开发领域,系统性能至关重要。随着应用规模的扩大和用户需求的增加,性能问题逐渐凸显,这不仅影响用户体验,还可能导致业务损失。而 APM…...
FPGA 中 XSA、BIT 和 DCP 文件的区别
在 FPGA(现场可编程门阵列)开发中,XSA、BIT 和 DCP 文件是常见的文件类型,它们在功能、用途、文件内容等方面存在明显区别,以下是详细介绍: 1. XSA 文件 定义与功能 XSA(Xilinx Shell Archiv…...
【c语言】指针进阶
目录 1.字符指针 2.指针数组 3.数组指针 3.1 数组指针的定义 3.2 数组指针的使用 4.数组参数,指针参数 4.1 一维数组传参 4.2 二维数组传参 4.3 一级指针传参 4.4 二级指针传参 5.函数指针 6.函数指针数组 6.1函数指针数组的定义 6.2 函数指针数组…...
使用FastAPI与OpenAI构建多模态分析API服务
引言 随着多模态AI模型的普及(如Qwen-Omni-Turbo),开发者可以轻松构建支持图像、音频、视频分析的API服务。本文将通过一个FastAPI示例,展示如何通过Base64编码传输媒体文件,并结合OpenAI API实现异步分析。这一方案适…...
集成学习实际案例
一、算法竞赛经典:Kaggle & 国际赛事 1. 泰坦尼克号生存预测(Random Forest) 场景:Kaggle 入门级经典赛题,基于乘客信息预测生存概率。方案: 基模型:决策树(CART)&…...
Linux421用户、组
参考...
树模型与集成学习(决策树核心算法:ID3/C4.5/CART、随机森林、GBDT/XGBoost)
树模型与集成学习 一、决策树 决策树核心算法:ID3/C4.5/CART ID3算法(基于信息增益) 核心原理 ID3(Iterative Dichotomiser 3)是最早的决策树算法之一,由Ross Quinlan于1975年提出。其核心思想是通过信…...
Netdata 监控多台服务器
一、多服务器监控方案选择 1. Netdata Cloud(官方推荐,免费) 特点:无需自建中心节点,通过 Netdata 官方云平台集中查看所有服务器。步骤: 在每台服务器上安装 Netdata(参考上一指南࿰…...
CTF web入门之SQL注入使用工具sqlmap
详细说明:https://blog.csdn.net/qq_41701460/article/details/146391515 web201: 查看数据库 获取不到数据库信息 https://9556eca3-d69a-40f4-b2a4-c89c2d2f8f12.challenge.ctf.show/api/?id1题目有提到 使用–user-agent 指定agent,因为对于 sqlm…...
spark–sql项目实验
数据读取与格式转换 读取JSON数据:使用Spark提供的读取接口(如 spark.read.json() ,在不同编程语言接口下使用方式类似)将给定的JSON格式数据读入Spark中,形成 DataFrame 。 格式转换:按照题目要求&…...
gnome中删除application中失效的图标
什么是Application 这一块的东西应该叫application,准确来说应该是applications。 正文 系统级:/usr/share/applications 用户级:~/.local/share/applications ying192 ~/.l/s/applications> ls | grep xampp xampp.desktoprm ~/.local…...
华为设备命令部分精简分类汇总示例
华为网络设备的命令体系庞大且复杂,不同设备系列(如交换机、路由器、防火墙)和不同操作系统版本(如VRP5、VRP8)的命令可能存在差异。以下是一个 精简分类汇总,涵盖常用配置场景和命令示例: 一、…...
Java 自动装箱与拆箱:基本数据类型与包装类的转换
在Java编程中,自动装箱(Autoboxing)和自动拆箱(Unboxing)是两个重要的概念。它们使得基本数据类型与其对应的包装类之间的转换更加方便,同时也提高了代码的可读性和可维护性。 什么是自动装箱和拆箱&#…...
论文阅读HARIVO: Harnessing Text-to-Image Models for Video Generation
h-space对比损失(DC)的设计细节 目标:确保视频的所有帧在语义上保持一致(例如,同一视频中的不同帧应描述相同的主体和场景,避免物体突变或语义漂移)。 1. h-space的定义 h-space 是U-Net最深…...
OpenCV基础函数学习4
【大纲笔记见附件pdf】 目录 一、基于OpenCV的形态学操作 二、基于OpenCV的直方图处理 三、基于OpenCV霍夫变换 四、基于OpenCV模板匹配 一、基于OpenCV的形态学操作 二、基于OpenCV的直方图处理 三、基于OpenCV霍夫变换 四、基于OpenCV模板匹配...
大数据系列 | 详解基于Zookeeper或ClickHouse Keeper的ClickHouse集群部署--完结
大数据系列 | 详解基于Zookeeper或ClickHouse Keeper的ClickHouse集群部署 1. ClickHouse与MySQL的区别2. 在群集的所有机器上安装ClickHouse服务端2.1. 在线安装clickhouse2.2. 离线安装clickhouse 3. ClickHouse Keeper/Zookeeper集群安装4. 在配置文件中设置集群配置5. 在每…...
【leetcode题解】算法练习
目录 分治-快排算法 颜色分类 移动零 排序数组 数组中的第K个最大元素 最小K个数 分治-归并排序 排序数组 交易逆序对的总数(困难) 计算右侧小于当前元素的个数(困难) 翻转对(困难) 字符串 最…...
大模型要被特定行业所用,从难到易有四种方式:重新训练或从头构建模型、微调模型、动态提示(如 RAG 技术)、简单提示工程
大模型在特定行业应用的四种方式详解 根据提供的信息,大模型要被特定行业所用,从难到易有四种方式:重新训练或从头构建模型、微调模型、动态提示(如 RAG 技术)、简单提示工程。以下是每种方式的详细解析及实际案例说明…...
[Python] 入门核心笔记
目录 一、Python简介重点 二、编程语言基础重点 三、Python安装重点 四、第一个Python程序重点 五、Python解释器重点 六、Python开发环境重点 一、Python简介重点 起源:1989年Gudio van Rossum开发,1991年诞生,名字源于电视剧《Monty Python…...
TensorFlow中使用Keras
目录 前言创建模型配置layers训练和评估配置模型训练评估和预测 前言 keras集成在tf.keras中。 创建模型 创建一个简单的模型,使用tf.keras.sequential。 model tf.keras.Sequential() # 创建一层有64个神经元的网络: model.add(layers.Dense(64, activationrelu)) # 添加…...
【Flask】Explore-Flask:早期 Flask 生态的实用指南
开源项目:explore-flask/README.rst at master rpicard/explore-flask (github.com) 一、Coding conventions Summary Try to follow the coding style conventions laid out in PEP 8. Try to document your app with docstrings as defined in PEP 257. def…...
Canvas入门教程!!【前端】
目录 canvas是什么?使用场景:canvas使用:引入:获取2D的上下文:坐标轴: 绘制:beginPath() :moveTo() :lineTo():stroke():fillRect() :strokeStyle 属性&#…...
通过规范化模型自训练增强医学图像分割中的无监督域自适应|文献速递-深度学习医疗AI最新文献
Title 题目 Enhancing source-free domain adaptation in Medical Image Segmentationvia regulated model self-training 通过规范化模型自训练增强医学图像分割中的无监督域自适应 01 文献速递介绍 深度卷积神经网络对训练数据分布(源域)和测试数…...
Linux常见指令介绍中(入门级)
1. man 在Linux中,man命令是用于查看命令手册页的工具,它可以帮助用户了解各种命令、函数、系统调用等的详细使用方法和相关信息。 用法:在终端中输入man加上要查询的命令或工具名称,例如man ls,就会显示ls命令的手册…...
一文详解卷积神经网络中的卷积层和池化层原理 !!
文章目录 前言 一、卷积核大小(Kernel Size) 1. 卷积核大小的作用 2. 常见的卷积核大小 3. 选择卷积核大小的原则 二、步长(Stride) 1. Stride的作用 三、填充(Padding) 1. 填充的作用 四、通道数ÿ…...
神经网络直接逆控制:神经网络与控制的结合入门级结合
目录 1. 前言 2. 什么是直接逆控制? 2.1 直接逆控制的优点 2.2 直接逆控制的局限性 3. 直接逆控制的实现步骤 3.1 数据准备 3.2 神经网络设计 3.3 训练神经网络 3.4 控制实现 4. 使用 PyTorch 实现直接逆控制 4.1 问题描述 4.2 数据生成 4.3 神经网络设…...
使用tabs组件搭建UI框架
本节任务 使用tabs组件搭建ui框架 包含页签:首页、动态、发布,会员购、我的。 涉及内容: Tabs、TabContent组件Builder装饰器属性模型封装,包括:接口、枚举、常量 界面原型 1 Tabs布局 在MainPage(如果…...
jmeter跟踪重定向和自动重定向有什么区别?
在 JMeter 中,跟踪重定向和自动重定向有以下区别: 概念 跟踪重定向:指的是 JMeter 会按照服务器返回的重定向信息,继续发送请求到重定向的目标地址,并记录下整个重定向的过程,包括重定向的地址、响应信息…...
unity3d实现物体闪烁
unity3d实现物体闪烁,代码如下: using UnityEngine;public class Test : MonoBehaviour {//创建一个常量,用来接收时间的变化值private float shake;//通过控制物体的MeshRenderer组件的开关来实现物体闪烁的效果private MeshRenderer BoxColliderClick…...
(三十)安卓开发中的MVP模式详解
在安卓开发中,MVP(Model-View-Presenter) 是一种常见的软件架构模式,它通过将应用程序的逻辑与用户界面分离,使得代码更加模块化、易于维护和测试。本文将详细讲解MVP模式的组成部分、工作流程、优点,并结合…...
独立ADC和MCU中ADC模块的区别
以图中两种方案为例: 使用独立ADC和使用MCU的内部ADC来实现模数转换,有什么性能、技术上的区别吗? 集成和独立芯片各有优劣势: 1、集成的节约了板子空间,减少了外围设计。工艺也不一样,集成的工艺相对高一…...
微软Entra新安全功能引发大规模账户锁定事件
误报触发大规模锁定 多家机构的Windows管理员报告称,微软Entra ID新推出的"MACE"(泄露凭证检测应用)功能在部署过程中产生大量误报,导致用户账户被大规模锁定。这些警报和锁定始于昨夜,部分管理员认为属于误…...
Ray Tracing(光线追踪)与 Ray Casting(光线投射)
Ray Casting(光线投射) 定义:一种从观察点(如摄像机)向场景中每个像素投射单条光线,找到最近可见物体的渲染技术。 核心任务:确定像素对应的物体表面颜色,通常仅计算直接光照&#…...
Shell脚本-变量的分类
在Shell脚本编程中,变量是存储数据的基本单位。它们可以用来保存字符串、数字甚至是命令的输出结果。正确地定义和使用变量能够极大地提高脚本的灵活性与可维护性。本文将详细介绍Shell脚本中变量的不同分类及其应用场景,帮助你编写更高效、简洁的Shell脚…...