【计算机组成原理】存储系统
🎄欢迎来到@边境矢梦°的csdn博文🎄
🎄本文主要梳理计算机组成原理中 存储系统的知识点和值得注意的地方 🎄
🌈我是边境矢梦°,一个正在为秋招和算法竞赛做准备的学生🌈
🎆喜欢的朋友可以关注一下🫰🫰🫰,下次更新不迷路🎆
目录
存储器的分类
半导体随机读写存储器(RAM)
半导体只读存储器(ROM)
半导体存储器的容量扩展
高速存储器
Cache存储器
虚拟存储器
🍁存储器的分类
可按照多种类型分类, 所以用文字来进行表示
- 按存储介质分类
- 半导体存储器(主存、cache)
- 磁表面存储器(磁盘、磁带)
- 光存储器(光盘)
按存取方式分
- 按地址寻址
- 随机存储器(RAM): 读取任何一个存储单元所花时间相同,与存储单元所在物理位置无关。比如,内存
- 动态随机存储器(DRAM):用做主存
- 静态随机存储器(SRAM):用做Cache
特别的,ROM也能随机存储
- 顺序存储器(SAM): 读取一个存储单元所需时间取决于其物理位置。比如,磁带, CD-ROM
CD-ROM != ROM
- 直接存储器(DAM):既有随机存储,又有顺序存储的特性。先直接选取信息所在区,然后顺序存取。比如,磁盘。
- 按
地址
或者内容
寻址
- 相联存储器:可以按照地址,也可以按照内容检索到存储位置进行读写,比如,
快表
、相联Cache
- 按信息的可更改性分
- 只读存储器(ROM): 只能读,不能写。
引导程序
就存放在ROM中- 读写存储器:即可读,又可写。
- 按信息的可保存性分
- 断电后
- 易失性存储器:信息丢失。
- 非易失性存储器:信息不丢失。 ROM
- 读取信息后
- 原存储信息被破坏,需要重写。比如DRAM芯片
- 原存储信息不被破坏,比如SRAM芯片、磁盘、光盘
🌳半导体随机读写存储器(RAM)
以下是知识点的整理, 写这个博客给大家推荐这个博主以及复习计算机组成原理的知识点, (想搞懂底层🥹)只是为了自己或大家更快复习, 原创是最好的, 原创视频来自 : 内存和固态硬盘哪个快?Flash和ROM RAM是一个东西吗?RAM和ROM的区别是什么?_哔哩哔哩_bilibili
深入理解闪存!固态硬盘如何存储一位数据?NAND FLASH是怎么擦除和写入的?FLASH的工作原理!_哔哩哔哩_bilibili
RAM也分为两种
- DRAM (Dynamic Random Access Memory) 动态随机存取存储器, 电脑的内存条就是DRAM
- SRAM (Static Random Access Memory) 静态随机存取存储器, CPU的缓存就是SRAM
原理图, 它可以存储一位信息, 只需要一个晶体管和一个电容, 当我们进行写操作时, 给晶体管的G极高电平, 它就导通了, 如果我们要写入1, 需要给D极高电平, 这样电容就会被充电, 就相当于 1 被存储到了电容里面, 同理如果我们想要存储 0 , 就给 D 极低电平, 这样就存储的是 0, 如果我们要进行读操作, 也需要让G 极为高电平, 使它导通, 同时加一个放大器, 当晶体管导通之后, 放大器会检测到电容上的电压信息, 这样就能判断它存储的是0 还是 1,因为电容的漏电流不可能为0, 所以过一段时间电容里的点就没了, 所以需要不停的刷新以此供电, 还有就是电容里的点不可能一瞬间充满, 要充满需要一段时间, 还要不断刷新, 所以速度上要慢得多
而静态RAM正好弥补了DRAM在速度上的不足, 它也是只能存储一位信息, 相比于动态RAM, 它的原理图要比动态RAM相对复杂
当保持位为1的时候, 才对后面的触发器有用, 对R, S输入如果是同样的电平也是没有意义, 所以加一个非门, 取反.
因为SRAM没有电容, 所以它的读写数据都是一瞬间完成, 所以速度快几倍(所以SRAM比占比大, 好处多啊), 同时也没有电容的漏电流这些, 所以不需要一直刷新, 所以叫静态RAM
- 从电路结构上也可以看出, SRAM由于结构相对复杂, 晶体管也多, 所以内存条就是DRAM, 容量可达几十个GB,
- 而SRAM由于结构相对复杂, 只有在电脑非常重要的场合才能用到, 比如电脑的CPU的L1, L2缓存
不管是DRAM还是SRAM, 只要关闭电源它们的数据都会丢失, 所以如果要长期存储的话, 就要用到ROM
🌻半导体只读存储器(ROM)
ROM : 固态硬盘, U盘, 买手机的时候的32G, 64G, 128G 和 256G的存储空间 (断电之后还在)
- ROM (Read-only memory,只读存储器) 例如 . 光盘
- PROM (Programmable read-only memory,可编程只读存储器)
- EAROM (Electrically alterable read only memory,电可改写只读存储器)
- EPROM (Erasable programmable read only memory,可擦可编程只读存储器)
- EEPROM(Electricallyerasable programmable read only memory,电子式可擦可编程只读存储器)
- 闪存(Flash memory)
基本输入输出系统BISO : BIOS对计算机的硬件起着重要的作用,它负责计算机的硬件设置和控制,是计算机启动过程中第一个运行的软件。如果BIOS被破坏,可能会导致计算机无法启动,因此需要注意保护BIOS的安全性。
PROM (Programmable read-only memory,可编程只读存储器), 对PROM写入程序后, 数据便无法更改, 它利用的是熔丝技术, 它存储的每一位数据都是由熔丝状态决定的, 熔断代表0, 没有则代表1
EPROM, 即可抹除可编程只读存储器, 它可以利用高压写入数据, 擦除数据的时候需要将芯片曝光与紫外线下一段时间, 所以这种ROM上方都有一块玻璃开窗
OTPROM跟EPROM的写入原理相同, 但是不设置开窗, 所以这种ROM只能编程一次
- EEPROM, 它的擦除方式是高压电场, 所以在EEPROM芯片内部都设置有电荷泵电路
来产生高压, 对于一些比较简单的电子产品, 它的为控制器里面就内置了EEPROM
- 我们保存的用户设置信息就存储在微控制器的EEPROM里面
- 为什么EPROM和EEPROM都要在后面加个“ROM”
简单来说,它们有个共同点就是不能只对小部分数据进行修改而维持其他数据不变,如果确实需要修改,EPROM需要紫外线擦除,EEPROM需要高压电擦除,一旦擦除,就会对所有数据进行重置,所以在Windows里面一般都会有“pagefile”(内存分页)集中合并数据修改(不止针对DRAM),既然做不到单次写入只修改部分数据而维持其他数据不变,它们就不能跟ROM“断绝亲子关系”从而跑到RAM的队列中。
1980年Flash memory闪存发明出来了, 并在此之后有同一个人发明了 Nor Flash 和 NAND FLASH, SSD固态硬盘它就属于NAND FLASH, 还有U盘, 存储卡这些都属于
结构示意图 :
当给栅极高电平时电子进入浮栅层 :
断电之后它会呆在浮栅层, 不会回去, 所以数据可以长久的保存
如果我们想要释放电子, 可以给G极负电压 :
Flash就是以以上方式存储一位数据的
- EEPROM : 硬盘, U盘, 手机上的闪存(这些都是NAND FLASH)
- 它们本质上都是通过电来擦除和写入的, 即使是断电之后, 它们还可以长久的保持数据
在速度上RAM要远远大于ROM
🌸半导体存储器的容量扩展
由于一个存储器芯片的容量是有限的, 它在字数或字长方面与实际存储器的要求都有很大差距, 所以需要对字向和位向进行扩充才能满足需要, 常用的扩充方法有位扩展法, 字扩展法和字位扩展法.
解释上句话 :
CPU对主存储器进行读/写操作时, 是先通过地址总线给出访存地址, 然后通过控制总线发出读/写操作控制信号, 最后对该地址的内容进行读/写操作, 并通过数据总线传送信息.
一个存储器的地址是有限的, 并且是分开的, 但是使用的时候是连续的地址, 所以要对存储器进行扩展以达到实际需要的存储器的地址范围
位扩展
- 引出原因 : 如果数据总线的位数大于单块存储芯片的位数,则需要进行位扩展,从而充分利用总线位数,提高系统效率。(A是地址总线, D是数据总线)
注意:位扩展的各芯片,
地址线并联相同
(A, CS, WE),只有数据线不同
。
字扩展
线选法
- 注意:线选法是一个地址线中多出的A,每个A对应一个字扩展芯片的CS,用做片选。其余相同
- 线选法是通过CPU上的地址线对存储芯片进行连接扩展。这种方法直接通过地址线对芯片进行选择,线路简单且容易实现。然而,由于地址线在同一时间只能有效选通一条,因此会导致地址不连续(只能用选中的一个, 其他的用不了)。
- 不能同时为 0 或者 1 就是不能都用或都不用
片选法
- 在进行片选时,需要将地址线的低位部分直接与存储器芯片的地址线相连,而高位部分则通过译码器进行译码,以选择相应的芯片。在选择完芯片后,还需要进行字选,即选择存储器中的具体字单元。这样,通过片选和字选,CPU就可以准确地访问存储器中的任意一个存储单元。
区别是一个可以提供连续的地址一个是不连续的地址
译码器 : 二进制变十进制
字位扩展(一组有多片)
🪴高速存储器
双端口RAM和多模块存储器
- 双端口RAM、多模块存储器都是
提高CPU访存的速度
。
- 双端口RAM
- 双端口RAM是指同一个存储器有左右两个独立的端口,分别具有两组相互独立的地址线、数据线和读写控制线,允许两个独立的控制器同时异步地访问存储单元。这种存储器可以同时被两个控制器访问,增加了存储器的带宽,提高了单体存储器的工作速度。
- 双端口RAM的两个端口可以同时对同一地址单元进行读操作,但不会发生冲突。当两个端口的地址不相同时,在两个端口上进行读写操作一定不会发生冲突。当两个端口同时对同一地址单元进行读写操作时,会出现读写错误。为了避免这种情况,可以采用逻辑判断决定暂时关闭一个端口,未被关闭的端口正常访问,被关闭的端口延长一个很短的时间段后再访问。
- 多模块存储器
- 多模块存储器是一种将多个存储模块组合在一起使用的存储器系统。每个存储模块都是一个独立的存储器,具有自己的地址线、数据线、读写控制线等。多个模块可以组合在一起形成一个大的存储空间,以便满足不同应用的需求。
- 多模块存储器的每个模块都是一个独立的存储器,因此它们可以独立地进行读写操作。同时,多个模块可以组合在一起,使得整个存储系统的容量和带宽都得到了扩展。多模块存储器适用于需要大容量和高带宽的应用场景,例如大型服务器、数据中心等。
双端口RAM适用于需要高带宽的应用场景,而多模块存储器适用于需要大容量和高带宽的应用场景。
- 多模块存储器中的“单体”和“多体”指的是存储模块的连接方式。
- 单体多字存储器:在这种方式中,每个存储模块只有一个存储体,每个存储单元存储m个字。地址必须顺序排列并且处于同一个存储单元(一个存储器中),这样在一次存取周期内,从同一地址取出m条指令,然后逐送至CPU。这种方式的一个缺点是,如果程序存在相邻体中,那么采用此编址方式的存储器为交叉存储器,而交叉存储器无法提高存储器的吞吐率。
- 多体并行寄存器:这种方式中,每个模块都有相同的容量和存取速度,各模块都有独立的读写控制电路、地址寄存器和数据寄存器。它们既可以并行工作,也可以交叉工作。
🏵️ Cache存储器
时间局部性和空间局部性
- 时间局部性 : 在最近的未来要用到的信息, 很可能是现在正在使用的信息, 因为程序中存在循环 (循环)
- 空间局部性 : 在最近的未来要用到的信息, 很可能与现在正在使用的信息在存储空间上是邻近的, 因为指令通常是顺序存放的, 顺序执行的, 数据也一般是以向量数组形式簇聚地存储在一起的 (顺序指令)
访问顺序与存放顺序一致 ==> 空间局部性好
主存与缓存的对应(直接映射)
🍓虚拟存储器
由于计算机不能执行比主存空间大的程序, 所以需要使用到虚拟存储器, 解决主存空间不足的问题
虚拟二字的含义:传统的存储系统有一次性 和 驻留性
两个问题,虚拟存储器就是解决这两个问题,变为多次性 和 对换性
,从而从逻辑上扩充了主存容量。
而虚拟存储器一定采用页式、段式、段页式管理方式,因为只有这样才能满足多次性和对换性。因此,其能够很好的满足程序的空间局部性原理
(页式、段式、段页式管理方式又叫请求页式、请求段式、请求段页式,区别是一般页式存放所有的块,故其页表要比虚拟的大且不会发生缺页情况,因为前者一次装入全部程序)
注意:
- 一次性:作业必须一次性全部装入内存后才能运行
- 驻留性:一旦作业被装入内存,则会一直占据内存,直至运行结束。
- 多次性和对换性需要解决2个问题:
- 进:如何判断缺页
- 出:若内存空间不够,OS如何将暂时不用的信息换出到外存。
- 虚拟页式存储
- 虚拟页式存储:以分页式管理方式的虚拟存储器。
- 页式管理方式:一个进程在逻辑上被分为若干个大小相等的
页面
,页面大小与主存块
的大小相同。每个页面可以离散
的放入不同的主存块中。
- 优点:不会产生外部碎片
- 缺点:
- 最后一页可能产生内部碎片
- 不用拥有逻辑独立性,处理、保护、共享 不及段式
- 地址转换
- 每次将程序加载到主存的位置是不一样的,我们不可能提前预知进程被放在哪里,所以
指令的地址码使用的是逻辑地址
。
注意:
页表寄存器
逻辑地址--->物理地址--->cache/主存
页表缺失,则TLB和cache一定缺失
注意:
快表是类似于cache的存在,故其也有三种映射方式。但是,映射方式只会影响
标记字段位数(即逻辑块号)
,不会影响页框号字段。快表中逻辑块号字段是隐藏表示,但是页表是直接表示。
快表(TLB)
页式方式只是满足了
程序空间局部性
原理,创建快表满足程序时间局部性
原理。注意:
- 访问快表比慢表(即页表)更快的原因:
- 快表是放在一个
SRAM
存储器中- 快表是一种
“相联寄存器”
,可以按内容和地址寻址,而根据内容逻辑号查找对应的主存号会更快。- 若快表没命中,会访问页表,并将信息复制到快表中。
虚拟段式存储器
- 优点:
- 不会产生内部碎片
- 拥有逻辑独立性,易于处理、保护、共享
- 缺点:会产生外部碎片
注意:
- 段表是
段基址 + 段长
- 段表核心字段:
逻辑段号 + 段基址 + 段长
地址转换
注意:段表存放在
段表寄存器
- 虚拟段页式存储器
- 缺点:地址变换过程中需要两次查表,系统开销较大。
- 程序先分段,再分块:
虚拟地址 = 段号 + 段内页号 + 页内地址
注意:
- 段表的字段变为了标识页表,即
段表字段
充当页表寄存器
的作用。若假设程序被分为n段,则该程序总共存在1个页表,n个页表- 段页式先分段后分页,类似于多级页表,故次级页表一个占一个块,段号中用
页表存放块号
来代替页表基址。地址转换
替换算法
注意:只有
FIFO
算法会产生Belady
异常。(Belady异常:所分配的物理块数增大,但是缺页故障数不减反而增加的异常。)
虚拟内存VSCache
- 相同
- 都把数据划分为小的信息块,并作为基本的传递单位(只是对象不同,cache划分对象为主存,而虚存划分对象为磁盘程序,故一般虚存的块更大)
- 都有地址映射、替换算法、更新策略等。
- 都应用了程序的局部性原理.。虚存的页式,段式,段页式都满足
空间局部性
,若增加快表,则满足时间局部性
。- 不同
- 虚存主要解决主存容量,cache解决CPU与主存速度不匹配
- cache全部由硬件组成,对
所有程序员透明
。
虚存由os和硬件组成,故其对系统程序员不透明,对应用程序员透明
- 对不命中的影响。CPU速度是主存的10倍,主存速度是辅存的100倍,故不命中时,对虚存的影响更大。
- CPU可以和主存直接相连,不命中时,CPU可以直接访问主存;但是,CPU不与辅存相连,虚存不命中时,只能从辅存中读数据到主存.
相关文章:

【计算机组成原理】存储系统
🎄欢迎来到边境矢梦的csdn博文🎄 🎄本文主要梳理计算机组成原理中 存储系统的知识点和值得注意的地方 🎄 🌈我是边境矢梦,一个正在为秋招和算法竞赛做准备的学生🌈 🎆喜欢的朋友可以…...

基于SSM的旅游管理系统设计与实现
末尾获取源码 开发语言:Java Java开发工具:JDK1.8 后端框架:SSM 前端:采用JSP技术开发 数据库:MySQL5.7和Navicat管理工具结合 服务器:Tomcat8.5 开发软件:IDEA / Eclipse 是否Maven项目&#x…...
JeecgBoot3.0 漏洞升级 — 快速文档
近几年来,黑客攻击行为呈现出日益复杂和隐蔽的趋势,对个人和组织的安全造成了严重威胁。黑客们不断寻找新的漏洞和安全漏洞,利用各种手段进行网络攻击,包括恶意软件、网络钓鱼、勒索软件等。因此,我们每个人都需要关注…...

6.一维数组——用冒泡法,选择法将5个整数由大到小排序
文章目录 前言一、题目描述 二、题目分析 三、解题 程序运行代码(冒泡法)程序运行代码(选择法) 前言 本系列为一维数组编程题,点滴成长,一起逆袭。 一、题目描述 用冒泡法将5个整数由大到小排序 二、题目…...

YOLOv8 onnx 文件推理多线程加速视频流
运行环境: MacOS:14.0Python 3.9Pytorch2.1onnx 运行时 模型文件: https://wwxd.lanzouu.com/iBqiA1g49pbc 密码:f40v 下载 best.apk后将后缀名修改为 onnx 即可模型在英伟达 T4GPU 使用 coco128 训练了 200 轮如遇下载不了可私信获取 代码…...

CVE-2017-12615 文件上传
CVE-2017-12615 文件上传 当存在漏洞的Tomcat运行在Windows/Linux主机上, 且启用了HTTP PUT请求方法( 例如, 将readonly初始化参数由默认值设置为false) , 攻击者将有可能可通过精心构造的攻击请求数据包向服务器上传…...

c++没有返回值的返回值
上面的函数search没有返回值,因为a不等于1,但是输出的时候会输出6.这恰巧是x的值,如果我们希望a不等于1时返回x,那么这种结果反而是正确的.有时候这种错误的代码可能产生正确的结果反而会加大debug难度 int search(int n) { 00007FF66DB723E0 mov dword ptr [rsp8],e…...

全网最全卡方检验汇总
一文整理了卡方检验全部内容,包括卡方检验的定义(基本思想、卡方值计算、适用条件分析)、卡方检验分类(2*2四格表卡方、R*C表格卡方、配对卡方、卡方拟合优度检验、分层卡方)、卡方检验如何分析(数据格式、…...
Java基础-中级-高级面试题汇(一)
第一部分: Java基础面试题汇总 1.面向对象和面向过程的区别? 面向对象和面向过程是两种不同的编程思想。面向对象是一种以对象为中心的编程思想,将数据和处理数据的方法封装在一起,形成一个类。程序通过创建对象来调用类中的方法…...

数据结构 / day04 作业
1. 单链表任意位置删除, 单链表任意位置修改, 单链表任意位置查找, 单链表任意元素查找, 单链表任意元素修改, 单链表任意元素删除, 单链表逆置 // main.c#include "head.h"int main(int argc, const char *argv[]) {Linklist headNULL; //head 是头指针// printf(&q…...

Java核心知识点整理大全20-笔记
目录 17. 设计模式 17.1.1. 设计原则 17.1.24. 解释器模式 18. 负载均衡 18.1.1.1. 四层负载均衡(目标地址和端口交换) 18.1.1.2. 七层负载均衡(内容交换) 18.1.2. 负载均衡算法/策略 18.1.2.1. 轮循均衡(Roun…...

Spark---转换算子、行动算子、持久化算子
一、转换算子和行动算子 1、Transformations转换算子 1)、概念 Transformations类算子是一类算子(函数)叫做转换算子,如map、flatMap、reduceByKey等。Transformations算子是延迟执行,也叫懒加载执行。 2)、Transf…...
什么是关系型数据库?
什么是关系型数据库? 关系型数据库(RDBMS)是建立在关系模型基础上的数据库系统。关系模型是一种数据模型,它表示数据之间的联系,包括一对一、一对多和多对多的关系。在关系型数据库中,数据以表格的形式存储…...

【LeetCode】挑战100天 Day12(热题+面试经典150题)
【LeetCode】挑战100天 Day12(热题面试经典150题) 一、LeetCode介绍二、LeetCode 热题 HOT 100-142.1 题目2.2 题解 三、面试经典 150 题-143.1 题目3.2 题解 一、LeetCode介绍 LeetCode是一个在线编程网站,提供各种算法和数据结构的题目&…...

ArcGIS10.x系列 Python工具箱教程
ArcGIS10.x系列 Python工具箱教程 目录 1.前提 2.需要了解的资料 3.Python工具箱制作教程 4. Python工具箱具体样例代码(DEM流域分析-河网等级矢量化) 1.前提 如果你想自己写Python工具箱,那么假定你已经会ArcPy,如果只是自己…...

【蓝桥杯】刷题
刷题网站 记录总结刷题过程中遇到的一些问题 1、最大公约数与最小公倍数 a,bmap(int,input().split())sa*bwhile a%b:a,bb,a%bprint(b,s//b)2.迭代法求平方根(题号1021) #include<stdio.h> #include<math.h> int main() {double x11.0,x2;int a;scanf("%d&…...
软件产品登记的材料条件
(1)申请双软认证前应该要获得信息产业部授权的软件检测机构出具的检测证明,这份检测证明可以到软件行业协会申请,然后协会会派专家到公司进行“检测”,检测通过后出具证明,这份证明的申请与软件著作权等无关࿰…...

春节后跟进客户开发信模板?外贸邮件模板?
适合新年的客户开发信模板?年后给客户的邮件怎么写? 在春节这一传统的中国节日结束后,跟进客户对于维持和发展业务至关重要。客户开发信模板是一种有效的工具。蜂邮将介绍一些春节后跟进客户开发信模板的关键技巧,以确保您的业务…...

个人财务管理软件CheckBook Pro mac中文版特点介绍
CheckBook Pro mac是一款Mac平台的个人财务管理软件,主要用于跟踪个人收入、支出和账户余额等信息。 CheckBook Pro mac 软件特点 简单易用:该软件的用户界面非常简洁明了,即使您是初学者也可以轻松上手。 多账户管理:该软件支持…...

rfc4301- IP 安全架构
1. 引言 1.1. 文档内容摘要 本文档规定了符合IPsec标准的系统的基本架构。它描述了如何为IP层的流量提供一组安全服务,同时适用于IPv4 [Pos81a] 和 IPv6 [DH98] 环境。本文档描述了实现IPsec的系统的要求,这些系统的基本元素以及如何将这些元素结合起来…...

PL0语法,分析器实现!
简介 PL/0 是一种简单的编程语言,通常用于教学编译原理。它的语法结构清晰,功能包括常量定义、变量声明、过程(子程序)定义以及基本的控制结构(如条件语句和循环语句)。 PL/0 语法规范 PL/0 是一种教学用的小型编程语言,由 Niklaus Wirth 设计,用于展示编译原理的核…...

GC1808高性能24位立体声音频ADC芯片解析
1. 芯片概述 GC1808是一款24位立体声音频模数转换器(ADC),支持8kHz~96kHz采样率,集成Δ-Σ调制器、数字抗混叠滤波器和高通滤波器,适用于高保真音频采集场景。 2. 核心特性 高精度:24位分辨率,…...
MySQL账号权限管理指南:安全创建账户与精细授权技巧
在MySQL数据库管理中,合理创建用户账号并分配精确权限是保障数据安全的核心环节。直接使用root账号进行所有操作不仅危险且难以审计操作行为。今天我们来全面解析MySQL账号创建与权限分配的专业方法。 一、为何需要创建独立账号? 最小权限原则…...

windows系统MySQL安装文档
概览:本文讨论了MySQL的安装、使用过程中涉及的解压、配置、初始化、注册服务、启动、修改密码、登录、退出以及卸载等相关内容,为学习者提供全面的操作指导。关键要点包括: 解压 :下载完成后解压压缩包,得到MySQL 8.…...
API网关Kong的鉴权与限流:高并发场景下的核心实践
🔥「炎码工坊」技术弹药已装填! 点击关注 → 解锁工业级干货【工具实测|项目避坑|源码燃烧指南】 引言 在微服务架构中,API网关承担着流量调度、安全防护和协议转换的核心职责。作为云原生时代的代表性网关,Kong凭借其插件化架构…...

消防一体化安全管控平台:构建消防“一张图”和APP统一管理
在城市的某个角落,一场突如其来的火灾打破了平静。熊熊烈火迅速蔓延,滚滚浓烟弥漫开来,周围群众的生命财产安全受到严重威胁。就在这千钧一发之际,消防救援队伍迅速行动,而豪越科技消防一体化安全管控平台构建的消防“…...

企业大模型服务合规指南:深度解析备案与登记制度
伴随AI技术的爆炸式发展,尤其是大模型(LLM)在各行各业的深度应用和整合,企业利用AI技术提升效率、创新服务的步伐不断加快。无论是像DeepSeek这样的前沿技术提供者,还是积极拥抱AI转型的传统企业,在面向公众…...

jdbc查询mysql数据库时,出现id顺序错误的情况
我在repository中的查询语句如下所示,即传入一个List<intager>的数据,返回这些id的问题列表。但是由于数据库查询时ID列表的顺序与预期不一致,会导致返回的id是从小到大排列的,但我不希望这样。 Query("SELECT NEW com…...
Java 与 MySQL 性能优化:MySQL 慢 SQL 诊断与分析方法详解
文章目录 一、开启慢查询日志,定位耗时SQL1.1 查看慢查询日志是否开启1.2 临时开启慢查询日志1.3 永久开启慢查询日志1.4 分析慢查询日志 二、使用EXPLAIN分析SQL执行计划2.1 EXPLAIN的基本使用2.2 EXPLAIN分析案例2.3 根据EXPLAIN结果优化SQL 三、使用SHOW PROFILE…...
Windows 下端口占用排查与释放全攻略
Windows 下端口占用排查与释放全攻略 在开发和运维过程中,经常会遇到端口被占用的问题(如 8080、3306 等常用端口)。本文将详细介绍如何通过命令行和图形化界面快速定位并释放被占用的端口,帮助你高效解决此类问题。 一、准…...