自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(19)
  • 收藏
  • 关注

原创 银行家算法的通俗解释

银行家算法的精髓是:​​谨慎放贷,留足后路​​。就像现实中的银行不会把现金全借出去,系统也不会一次性分配所有资源,而是通过动态模拟确保每一步都留有安全余量。虽然实际应用中较少直接使用,但其“安全第一”的思想深刻影响了计算机系统的资源管理设计。

2025-05-24 19:47:03 353

原创 安全的计算机网络的四个核心性质

​:确保信息只能被授权者访问,防止未授权的泄露或窃取。​。

2025-05-22 22:36:02 821

原创 几种内存分配算法通俗解释

不同算法像不同的“停车策略”:有的优先找最近的空位(快但乱),有的专找刚好能停的车位(省空间但麻烦),有的直接占大车位(避免小碎片但浪费空间)。实际系统中,通常会根据需求混合使用这些算法。

2025-05-20 20:50:06 1149

原创 锁机制核心总结

例如,意向排他锁(IX锁)提示其他事务“表中有行被锁定”。选择锁类型需结合场景:高并发读用共享锁,关键写操作用排他锁,复杂事务结合意向锁和MVCC优化。锁如同数据世界的“交通信号灯”,读锁是绿灯(并行读),写锁是红灯(独占写),共同维护并发秩序。:多版本并发控制,读操作不阻塞写(如InnoDB快照读)。:无锁设计,通过版本号或CAS实现(如电商库存校验)。:锁定单行(InnoDB默认),高并发但可能死锁。或数据库行锁),适用于写密集型场景(如银行转账)。:锁定整表(MyISAM默认),开销小但并发低。

2025-05-16 20:57:04 289

原创 事物的隔离级别

常用读已提交,平衡性能与安全。

2025-05-13 19:21:39 312

原创 ACID 特性通俗解释

银行转账时,A 转 100 元给 B,必须同时完成 A 扣款和 B 入账。若中途失败(如网络断开),系统会撤销所有操作。:账户总额不变——若 A 有 500 元,B 有 300 元,转账后总和仍为 800 元。:两人同时用同一账户网购,系统会排队处理请求,避免重复扣款。,满足所有预定义的规则(如唯一约束、外键约束)。:文件保存到硬盘后,断电重启文件依然存在。,每个事务感知不到其他并行事务的存在。:事务是“不可分割”的最小操作单元,:事务一旦提交,对数据的修改就是。:事务执行后,数据库必须从。

2025-05-10 19:47:39 378

原创 文件的物理组织及解释

(File Allocation Table全局索引链)。:CD-ROM的ISO9660文件系统(轨道连续写入)。(类似NTFS的$BadClus元文件)。:预分配连续物理块(如磁带卷轴式布局)。:FAT32/U盘固件(应对频繁擦写)。(如Ext4的extent tree)。(Linux ext4的优化策略)。索引文件(B+树物理存储)。密码文件(用户名哈希定位)。直接指针(12个直接块)。(多磁盘并行连续存储)。(故障块指针跳过机制)。(索引块空闲状态标记)、(如ZFS的ARC缓存)

2025-05-08 22:25:31 314

原创 多播路由选择协议和网络管理协议IGMP

快递公司(路由器)会规划一条最优路线,让一辆快递车(数据包)一次性经过所有朋友家(接收设备),而不是派。个朋友寄同一份礼物,如果挨家挨户单独送,快递员会累死。这需要快递公司动态跟踪哪些朋友需要礼物(组成员),并实时更新路线(路由表)。:类似顺丰,不管城市道路规则(底层网络协议),都能规划路线。直播数据就会像快递包裹一样,沿着规划好的路线送到你手机。路由器记下你的需求,并告诉上游快递中心(组播路由协议)最终你的外卖(数据)高效送到,不浪费配送资源。:一条数据流送给多人(比如直播),而不是复制。

2025-05-06 09:17:58 434

原创 HTTP和HTTPS协议的简单解析

浏览器生成一个随机密码,用服务器的公钥加密后传过去(类似把密码锁在保险箱里)。:双方用这个密码对后续通信内容加密(对称加密),即使数据被截获也是乱码。:浏览器向网站服务器“打招呼”,服务器出示数字证书(证明是正规网店)。用复杂的数学算法(如AES)将数据打乱,只有服务器和浏览器能解开。网站需向权威机构申请数字证书(类似身份证),证明“我是真实的我”。)时,所有传输内容会被加密成乱码,即使被截获也无法直接读取。数据附带“指纹”(哈希校验),一旦被修改就会被发现。加密层(类似保险箱的锁)保护数据。

2025-05-03 20:38:50 466

原创 操作系统中的分页和分段管理

就像图书馆的书架被分成固定大小的格子,每本书拆成等大的页存放。找书时通过目录(页表)快速定位格子位置,不需要的书可以暂时收进仓库(硬盘)腾出空间。操作系统的内存管理中的分页和分段是两种核心技术,它们分别以不同方式解决内存分配和程序运行的问题。比如把小说、工具书、笔记本分别放进不同的抽屉,每个抽屉大小不同,但内部连续。现代系统(如Linux、Windows)主要采用分页,但结合了分段的部分特性(如权限控制)。操作系统通过两者的结合,既保证了内存利用率,又兼顾了程序逻辑的清晰性。

2025-05-01 18:44:40 562

原创 ​​IP地址总结

网络ID占前8位,支持超大型网络(如国家级网络),可容纳约1677万台主机。网络ID占前16位,适合中型网络(如企业网),可容纳约6.5万台主机。网络ID占前24位,用于小型网络(如家庭/办公室),最多254台设备。优势:近乎无限的地址空间,支持更多设备和应用场景(如物联网)。公网地址:全球唯一,由运营商分配(如网站服务器。无网络/主机划分,专用于组播(如视频直播)。:回环地址,用于本机测试(如检查本地服务)。:全网广播地址,向同一子网所有设备发送数据。地址的网络部分和主机部分,如。则面向未来扩展需求。

2025-04-26 21:18:41 745

原创 函数依赖与传递依赖

学号能查到所在系(如计算机系),系名又能查到系主任(如张老师),学号便通过。)能直接关联到姓名、班级等信息,学号一旦确定,其他信息也随之确定。例如,学生信息表拆分为学生表和系表后,数据维护成本降低,结构更清晰。完全依赖要求属性组全体参与,部分依赖存在冗余,需优化设计。:无法单独插入无学生的系信息,删除所有学生可能丢失系信息。规范化,拆分为学生表(学号、系名)和系表(系名、系主任)。:若系主任换人,需修改所有相关学生记录,否则数据不一致。,其实学号单独就能确定姓名,课程号是多余的。

2025-04-24 19:20:28 864

原创 DNS的原理和机制

但通过分层设计(分拣系统)、资源标签(地址类型)、缓存机制(记忆优化)和安全扩展(防伪措施),实现了从。超时后,他会重新跑一遍分拣流程,确保地址最新(防止 IP 变更导致“送错楼”)。DNS 像调度员,根据你的航班号(IP 地理位置)分配最近的转盘(如。(加密签名),快递员(解析器)用公钥验证签名,确保地址未被掉包。每个转盘(CDN 节点)对应一个区域(如亚洲、欧洲)。快递员将包裹(请求)送达后,还会把地址记在小本子(像手写地址簿,可能被篡改(如中间人伪造响应)。(IPv4 地址),快递员按它送货。

2025-04-22 18:16:21 762

原创 指针与双指针的通俗解释

在程序中,指针是一个变量,存储的是其他数据在内存中的具体位置(地址),而不是数据本身的值。指针是操作内存的“导航”,而双指针通过两人协作(快慢、对撞、分离)实现高效解题,就像快递员精准投递或团队分工合作清理仓库,既快又省力。检测链表环:如果链表有环,快指针会绕圈追上慢指针,就像两个人在环形跑道上跑步总会相遇。两个指针分别操作不同的数据结构,比如一个遍历数组A,另一个遍历数组B。例如,快指针每次走两步,慢指针走一步。找链表中点:快指针到终点时,慢指针刚好在中点,类似“中间截断”。常用于有序数组问题。

2025-04-19 19:30:39 1014

原创 加锁与死锁

线程A持锁A等待锁B,线程B持锁B等待锁A。

2025-04-16 23:31:37 996

原创 Tomcat与Servlet

(前端请求) 就像在APP里点击【立即下单】,浏览器会发送一个HTTP请求到Tomcat服务器。(HttpServletRequest):装着你的请求参数、请求头等信息。(URL映射) Tomcat相当于餐厅前台,根据你访问的网址(比如。(HttpServletResponse):用来装处理后的响应数据。线程管理:Tomcat线程池处理并发请求,每个请求独立线程。),找到对应的"厨师"——也就是具体的Servlet。请求就是顾客订单,响应的数据就是做好的菜。客人来了说"我要买可乐"(HTTP请求)

2025-04-15 18:45:34 927

原创 第一第二第三范式的简要介绍

第三范式(3NF)要求非主属性之间不能存在传递依赖,即每个字段必须直接依赖主键,而非间接通过其他字段关联。:学生表中“班级名称”依赖于“班级ID”,而“班主任姓名”又依赖于“班级名称”,形成间接依赖链条,如同通过祖父找孙子而非直接联系。:订单详情表中,商品名称和单价仅依赖“商品ID”,而非主键“订单ID+商品ID”,如同仅通过书架号无法准确定位书籍。:将班级信息独立成表,学生表仅保留“班级ID”,类似将族谱拆分为父子两代独立分支。​​1NF​​是数据规范的起点,像整理抽屉里的物品,确保每格只放一类;

2025-04-12 10:30:01 383

原创 操作系统的子进程产生与运行流程

调用 `exec()` 函数清空自身内存,加载新程序的代码段(如从 `ls` 命令替换为 `gcc` 编译任务),如同演员扔掉旧台词,完全扮演新角色。父进程通过 `fork()` 系统调用创建子进程,此时操作系统会像复印机扫描父进程的蓝图一样,复制其代码、数据、堆栈和资源分配表(如打开的文件描述符),但子进程会被赋予独立的进程ID(PID)。:父进程的 `fork()` 返回子进程PID(类似老板收到员工工号),子进程的 `fork()` 返回0(类似新员工领到工卡),以此区分执行逻辑。

2025-04-10 12:32:12 306

原创 数据库触发器的原理

就像超市的自动门会在人靠近时自动开启一样,当数据库发生特定操作时,触发器就会自动执行预设的任务。用生活场景类比,触发器就是给数据库装上了智能家居系统:当发生特定事件(开门、关灯)时,自动执行预设动作(开空调、拉窗帘),让数据管理更智能高效。就好比在Excel表格里修改数据,每次保存时都会自动弹出一个提示框——这就是触发器的简化版。比如班级表里的学生数量,每当学生表新增记录时,触发器会自动给班级人数+1(类似微信群人数自动更新)像安检员在登机前检查行李,先校验数据是否合规再放行(如阻止输入负数价格)。

2025-04-07 11:51:23 506

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除