自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 KMP算法

要理解next数组,首先要理解字符串的真前缀和真后缀。前缀:指从字符串开头开始的任意连续子串(不包括字符串自身)。后缀:指以字符串结尾的任意连续子串(不包括字符串自身)。“真”通常意味着不包括字符串本身。例如,对于字符串"ABABA""A""AB""ABA""ABAB""A""BA""ABA""BABA"next数组是针对模式串进行预计算的。next[j]表示:在模式串P中,从开头到第 j 个字符(下标从0开始)构成的子串,其最长公共前后缀的长度。重要next[j]的值,就是当模式串在第j。

2025-11-11 20:18:16 505

原创 UDP-复用分用

特性UDPTCP分用依据目的端口号四元组:(源IP,源端口,目的IP,目的端口)套接字标识二元组:(目的IP,目的端口)四元组:(源IP,源端口,目的IP,目的端口)核心特点无连接。来自不同客户的数据,只要目的IP和端口相同,就进入同一个套接字。面向连接。每个TCP连接都由一个独立的套接字处理,即使目的IP和端口相同,来自不同源的数据也会进入不同的套接字。一个形象的比喻来区分UDP和TCP的分用UDP像一个公共信箱:所有人都把寄给“A公司”(目的IP和端口)的信扔进同一个大信箱里。

2025-11-05 15:02:51 568

原创 計組-中斷與子程序調用的區別

特性中断处理程序子程序触发方式异步、被动。由外部硬件事件或CPU异常强制发生,与当前正在执行的代码无关。同步、主动。由程序中的特定指令(如CALLBL主动调用,是程序流程的一部分。调用源外部硬件(如定时器、键盘、网卡)或CPU内部异常(如除零错误、页故障)。同一程序中的另一段代码。发生时机不可预测。理论上可以在任何指令执行期间发生。可预测。调用点完全由程序逻辑决定。保护现场的目的保存“被中断者”的完整状态,以便在中断结束后能无缝衔接,仿佛什么都没发生过。保存“调用者”的局部状态。

2025-10-21 16:16:47 691

原创 堆的插入操作

堆插入后的调整(筛选上浮)与建堆时的调整(筛选下沉)不一样插入调整是 “从下往上补单个元素”,建堆调整是 “从上往下建整个结构前者依赖与父节点的比较,后者依赖与子节点的比较;前者适用于已有堆的动态扩容,后者适用于从 0 构建堆。但二者的核心目标一致—— 都是通过局部调整,确保最终整个结构满足堆的性质(父节点值≥子节点值或≤子节点值)。

2025-10-11 16:06:08 679

原创 操作系统-FCB集中存储

FCB是或的缩写。它不是指一个通用的存储概念,而是特指在Intel 傲腾持久内存中使用的、与 DRAM 缓存搭配使用的一种数据组织和管理方式。为了更好地理解 FCB,我们把它和“连续存储”进行对比。特性集中存储连续存储核心思想将分散的数据“收集”起来,组成一个大的数据单元进行管理。数据在物理地址上紧密相邻,顺序排列。关注层面更偏向于缓存和数据管理策略,是一种方法。更偏向于数据的物理存放形态,是一种状态。粒度管理的是数据的组织方式(如何将小写合并成大写)。描述的是数据块的物理位置关系。主要目标。

2025-10-10 20:34:24 1077

原创 计算机网路-PPP协议

PPP 协议是点对点通信场景中最核心的数据链路层协议,通过 “帧封装格式 + LCP+NCPs” 的组合设计,实现了灵活、安全、高效的数据传输。它支持多种网络层协议和物理介质,提供可选的认证机制,广泛应用于拨号上网、路由器专线连接等场景。理解 PPP 的组成结构和工作流程,有助于掌握数据链路层协议的设计思想和实际应用。

2025-10-08 15:24:18 883

原创 计算机网路-FTP协议

FTP 作为经典的文件传输协议,核心特点是 “双连接模型”(控制连接 + 数据连接),并通过主动 / 被动模式适配不同网络环境。但由于明文传输的安全性问题,当前主流场景已逐渐被 FTPS 和 SFTP 替代。理解 FTP 的双连接逻辑和两种工作模式,是掌握文件传输协议的关键基础,也是计算机网络面试中的常见考点。

2025-10-08 09:51:43 891

原创 leetcode-3.无重复字符的最长子串

用两个指针left和right表示窗口的左右边界窗口代表当前正在检查的子串目标是找到的最大值,且窗口内无重复字符。

2025-10-07 16:29:42 152

原创 计算机网路-PPP协议

PPP 协议是数据链路层的经典协议,核心价值在于解决 “点对点链路” 的可靠传输、身份验证和多协议适配问题。尽管在以太网主导的互联网中,PPP 的直接应用场景减少,但它的核心机制(如身份验证、动态 IP 分配)通过 PPPoE 等扩展协议仍在广泛使用,是理解宽带接入、专线通信等场景的关键基础。

2025-10-06 22:07:12 1118

原创 计算机网路-OSPF协议

OSPF 通过链路状态算法和层次化区域设计,解决了 RIP 等传统路由协议在大型网络中的局限性,成为企业网和运营商网络的主流 IGP。其核心优势在于快速收敛、精确的路由选择和良好的可扩展性,但配置复杂度和资源消耗也相对较高。理解 OSPF 的邻接关系建立、LSDB 同步、SPF 计算等核心机制,是掌握复杂网络路由设计的关键基础。

2025-09-30 21:01:59 623

原创 计算机网络-RIP协议

RIP 是计算机网络中 “路由协议的入门级典范”,其核心价值在于 “简单、低成本”,适合小型、对路由效率要求不高的网络;但由于跳数限制、收敛慢、度量值单一等缺陷,在中大型网络中已被 OSPF 等协议取代。理解 RIP 的工作原理(跳数度量、定期更新、贝尔曼 - 福特算法)和防环机制,是掌握更复杂路由协议(如 OSPF)的重要基础。

2025-09-30 21:00:19 1182 3

原创 操作系统-段页式存储

段页式存储管理是一种层次化分段来满足用户视角的程序逻辑结构,并提供高效的共享与保护机制。分页来满足系统视角的内存物理分配,并有效地消除了外部碎片。尽管它增加了复杂性和开销,但其在功能、性能和安全性上取得的平衡,使其成为现代高性能计算机系统内存管理的基石架构。理解段页式管理,是理解现代操作系统如何管理内存的关键。

2025-09-28 15:59:19 745

原创 操作系统-分段存储管理

分段存储管理是一种以程序逻辑单元为单位进行内存管理的方案。它通过引入段表、二维逻辑地址和越界检查,实现了对程序结构的自然映射和有效的内存保护。其最大的挑战是外部碎片问题,这导致了它在现代系统中通常与分页结合使用,形成了功能强大且高效的段页式内存管理架构。

2025-09-28 15:55:47 786

原创 计算机网路-TCP

TCP是一个极其精巧和复杂的协议,它的设计哲学是在不可靠的IP网络之上,通过确认、重传、流量控制和拥塞控制等一系列机制,为上层应用提供一个可靠的、像管道一样的字节流服务。虽然因其复杂性而带来了一些开销(如建立连接的延迟),但在需要高可靠性的场景(如网页浏览、文件传输、电子邮件等)中,它是无可替代的。

2025-09-27 17:31:43 838

原创 计算机网络-ipv4首部校验原理

步骤发送方接收方1. 准备将校验和字段置零。接收整个 IP 首部。2. 划分将首部按 16 位分组。将首部按 16 位分组。3. 求和计算所有字的反码算术和(有进位则回卷)。计算所有字(包括校验和字段)的反码算术和(有进位则回卷)。4. 取反对最终和进行按位取反,得到校验和。不取反。5. 动作将校验和填入首部,发送数据包。如果为 0xFFFF,通过;否则,丢弃。

2025-09-26 18:28:19 1174

原创 计网-VLAN

核心概念说明VLAN 本质在物理网络之上创建的虚拟逻辑网络,用于隔离广播域。核心组件:VLAN的唯一标识。802.1Q Tag:用于在帧中携带VLAN ID信息。端口类型Access 端口:连接终端,处理无标签帧。Trunk 端口:交换机互联,处理带标签帧。工作流程入站打标签(Access口)->基于VLAN标签和MAC表交换->出站剥标签(Access口)或保标签(Trunk口)。核心价值安全性、性能(广播控制)、管理灵活性。

2025-09-26 16:39:30 791

原创 计算机网路-ICMP

方面详细说明定位网络层的辅助协议,IP协议的“错误报告和诊断系统”。封装ICMP报文被封装在IP数据包的数据部分进行传输。核心功能差错报告(如目的不可达、超时)和查询诊断(如ping)。工作方式由网络设备(路由器、主机)在遇到问题时主动触发,向源IP地址发送反馈。重要性是网络连通性测试、路径追踪和故障排除的不可或缺的工具,是互联网稳定运行的基础。简单来说,没有ICMP,互联网就会像一个没有仪表盘和故障灯的汽车——你能开,但出了问题你根本不知道原因在哪里。ping和traceroute。

2025-09-25 20:17:30 1229

原创 计算机网路-路由聚合

路由聚合将多条连续的、具有相同路径的精细路由,合并成一条更粗粒度的、通用的路由通告给其他路由器。这就像现实世界中的邮政系统没有路由聚合的情况:假设你要从北京寄信到上海市浦东新区张江高科技园的各个不同街道。邮局需要为每一条街道(如科苑路、祖冲之路、李冰路)都维护一条独立的运输路线。这将导致路由表极其庞大和复杂。使用路由聚合的情况:聪明的邮局会将所有发往“上海市浦东新区张江高科技园”的信件合并为一大类。无论信件的具体街道是什么,它们都会被统一送到“张江邮局分拣中心”。

2025-09-25 20:04:31 1133

原创 计算机网路-SDN

SDN 通过控制与转发分离集中控制和开放可编程接口这三大支柱,将网络从静态、复杂、封闭的硬件堆叠,转变为一个动态、智能、开放的软件驱动平台。它不仅是技术的演进,更是网络设计和管理思想的根本性变革,为未来网络的发展奠定了坚实的基础。

2025-09-25 19:29:22 930

原创 华为机试真题-1

在这个样例中,最后一个单词是 "HelloNowcoder""HelloNowcoder" ,长度为 1313。对于给定的若干个单词组成的句子,每个单词均由大小写字母混合构成,单词间使用单个空格分隔。输出最后一个单词的长度。除此之外,保证每个单词非空,由大小写字母混合构成,且总字符长度不超过 103103。在一行上输入若干个字符串,每个字符串代表一个单词,组成给定的句子。在一行上输出一个整数,代表最后一个单词的长度。

2025-09-15 22:59:52 201

原创 文件系统-哈希结构文件

哈希结构文件是一种“用空间换时间”和“用随机性换速度”的经典设计。它在特定的应用场景下能提供无与伦比的性能,但其局限性(如不支持范围查询)也决定了它不能作为通用的文件组织方式。

2025-09-04 21:51:36 615

原创 操作系统-管程

管程是一种编程语言构件,它封装共享资源的数据结构(状态)。能操作共享资源的所有过程(函数/方法)。在管程初始化时执行的代码。互斥性。在任何时刻,最多只有一个线程能活跃在管程内(即正在执行管程的某个方法)。这是由编译器在编译管程时自动添加锁来实现的,无需程序员关心。互斥锁 (Lock):用于保证互斥访问。通常对程序员是透明的。条件变量 (Condition Variables):这是管程实现同步的核心。

2025-08-30 17:46:11 1045

原创 计组-控制与执行方式

方式驱动核心核心思想典型应用控制流程序计数器(PC)指令顺序执行,由跳转改变流程冯·诺依曼计算机(通用CPU)数据流数据的可用性数据就绪即触发指令执行并行计算模型、大数据框架MIMD多个独立PC多个处理器独立执行不同任务多核CPU、分布式系统微程序微指令序列将复杂指令分解为简单微操作序列CISC架构CPU的内部实现。

2025-08-20 12:24:59 722

原创 计组-间接寻址

先通过寄存器/内存获取中间地址,再通过该地址访问最终操作数。间址周期后,MDR 存储的是。

2025-08-16 18:40:48 846

原创 计组-机器字长/指令字长等辨析

现代计算机:32位(如ARM Cortex-M)、64位(如x86-64、ARMv8)。早期8位CPU(如Z80)的地址总线为16位(寻址64KB),但机器字长为8位。:存储器字长通常等于数据总线宽度(如64位CPU的内存字长通常为64位)。如DDR4内存的突发传输(Burst)长度为64字节(8×64位)。32位CPU的机器字长为32位,通用寄存器(如EAX)也是32位。:如RISC-V(32位固定)、ARM Thumb模式(16位)。定长指令集(如RISC-V):IR位数等于指令字长(如32位)。

2025-08-16 12:03:49 1207

原创 计组-单周期cpu与多周期cpu对比

周期1 ┌─────────┐ 周期2 ┌─────────┐ 周期3 ┌─────────┐ 周期4 ┌─────────┐ 周期5 ┌─────────┐。│ 取指 │ │ 译码 │ │ 计算地址 │ │ 访存 │ │ 写回 │。时钟周期 ┌─────────────────────────────────────────────────────┐。

2025-08-15 18:19:00 1485

原创 计组-CPU数据通路组成

通过流水线技术将操作元件与状态元件交替排列(如五级流水线:IF→ID→EX→MEM→WB)。:操作元件处理的数据需由状态元件存储,而状态元件的内容又会被操作元件读取。在CPU流水线中暂存阶段间的数据(如IF/ID、EX/MEM寄存器)。:决定CPU的存储容量和状态管理能力(如寄存器数量影响并行性)。输入:操作数A、操作数B、控制信号(如ADD/SUB)。状态元件(如流水线寄存器)隔离各阶段,避免信号冲突。比较两个数的大小(输出A>B、A=B、A<B)。:决定CPU的计算能力(如支持哪些指令)。

2025-08-15 17:58:25 510

原创 计组-零地址指令

零地址指令的指令格式中不显式包含操作数或地址码,但操作数通过隐式约定(如栈、固定寄存器)提供。零地址指令的指令格式中不显式编码操作数或地址,但操作数通过隐式约定(如栈、累加器)确定。零地址指令的“零地址”是指指令编码中无显式地址字段,但操作数仍通过。这种设计减少了指令长度,但增加了对硬件上下文(如栈指针)的依赖。虽然指令中无地址码,但操作数通过寄存器名隐含指定。指令无显式操作数,但实际操作数为栈顶的两个值。看似一地址指令,但实际是零地址(操作数隐含为。零地址指令并非“无操作数”,而是操作数。

2025-08-14 20:39:56 598

原创 计组-ISA

是计算机的抽象模型,定义了软件与硬件之间的接口规范。

2025-08-14 16:19:44 758

原创 计组-大/小端存放区别

地址: 0x1000 0x1001 0x1002 0x1003。地址: 0x1000 0x1001 0x1002 0x1003。数据: 0x12 0x34 0x56 0x78。地址 0x7ffc...: 0x78 // 低字节在低地址。地址 0x7ffc...: 0x12 // 高字节在高地址。地址 0x7ffc...: 0x12 // 高字节在低地址。地址 0x7ffc...: 0x78 // 低字节在高地址。:低位在前,x86/ARM主流,效率高(硬件设计简单)。

2025-08-08 16:45:18 922

原创 计组-加法器判断溢出的原理

通过比较符号位的进位输入(Cin)和进位输出(Cout),若两者不同,则说明运算结果因溢出而符号错误。

2025-08-07 16:14:23 1026

原创 计网-TCP拥塞控制

发送1个报文 → ACK → cwnd=2 → 发送2个报文 → ACKs → cwnd=4 → ...(指数增长)。是核心机制之一,用于动态调整发送方的数据传输速率,避免网络因过载而出现性能急剧下降(如丢包、延迟激增)。检测到拥塞(如丢包)时,重置ssthresh = cwnd/2,cwnd = 1,重新慢启动。若收到3个重复ACK,重传丢失报文,设置cwnd=10(假设原cwnd=20),继续线性增长。假设初始参数:cwnd=1 MSS,ssthresh=16 MSS,MSS=1460字节。

2025-07-26 11:12:32 881

原创 计网-TCP可靠传输

TCP通常对按序到达的连续数据批量确认(如ACK=1001表示1000及之前的所有字节已接收)。A收到ACK=1001后,窗口向右滑动,继续发送Seq=1001、2001、3001的数据。:发送一个1000字节的数据,若Seq=1,则下一个报文段的Seq=1001。(如连续收到ACK=1001),说明后续数据可能丢失,立即重传而不等待超时。:收到Seq=1、长度=1000的数据,则返回ACK=1001。若Seq=2001丢失,B仍返回ACK=1001(重复ACK)。

2025-07-26 10:30:08 428

原创 计算机网络-UDP协议

的协议,适用于对实时性要求高、能容忍少量数据丢失的场景(如视频流、DNS查询等)。(Google开发的协议,用于HTTP/3,结合UDP+TLS+重传机制)。游戏状态更新需要低延迟,偶尔丢包可接受(如UDP+自定义重传)。查询请求和响应通常使用UDP(端口53),因为只需一次往返。:整个UDP数据报的长度(头部+数据,最小为8字节)。UDP添加头部(源端口、目的端口、长度、校验和)。(流媒体协议,部分使用UDP+自定义丢包恢复)。(基于UDP的TLS,用于安全通信)。网络层(IP)将数据报传递给UDP。

2025-07-25 14:01:33 954

原创 计算机带宽与信号带宽

一个放大器的频率响应在 100 Hz ~ 10 kHz 范围内平坦,超出后衰减,则其带宽 B=10 kHz−100 Hz≈9.9 kHzB=10 kHz−100 Hz≈9.9 kHz。:信号频率集中在某个高频范围 [fmin,fmax][fmin​,fmax​],带宽 B=fmax−fminB=fmax​−fmin​。,通常用来衡量数据传输的能力。例如:音频信号(20 Hz ~ 20 kHz),带宽 B=20 kHzB=20 kHz。到某个最高频率 fmaxfmax​,带宽 B=fmaxB=fmax​。

2025-07-03 19:41:00 1117

原创 计组-流水线的分类

用于高速运算(如浮点运算),分解算术操作。允许指令根据资源就绪情况动态调度,提高效率(如现代CPU的Tomasulo算法)。将指令执行分为多个阶段(如取指、译码、执行、访存、写回),现代CPU普遍采用。可配置不同功能(如TI TMS320系列DSP的流水线可执行不同运算)。允许不同功能同时占用不同段,灵活性高但控制复杂(如超标量处理器)。专为向量运算设计(单指令多数据,SIMD),如GPU中的流水线。存在数据复用或前馈/反馈路径(如循环展开时的流水线优化)。数据顺序通过各段,无反馈(如简单指令流水线)。

2025-06-30 21:22:44 306

原创 计组-中断和异常

异常(Exception)和中断(Interrupt)是计算机系统中两种重要的事件处理机制,它们允许 CPU 在正常执行指令流时响应内部或外部事件。直接或间接引发的同步事件,通常与程序执行过程中的错误或特殊条件相关(如除零、缺页、非法指令等)。触发的异步事件,用于通知 CPU 有重要事件需要处理(如键盘输入、磁盘 I/O 完成)。的,因为它是由 CPU 在执行某条指令时检测到的,必须立即处理。:同步事件,由 CPU 执行指令时触发,用于错误处理或系统调用。:CPU 在处理一个异常时又触发另一个异常。

2025-06-29 17:27:00 1077

原创 Java-上转型对象

上转型变量是指用父类声明变量,但实际引用的是子类对象:父类类型 变量名 = new 子类构造方法();

2025-06-29 13:59:42 509

原创 Java-字符串分割习题

1.编写一个应用程序,用户从键盘输入一行字符串,程序输出该字符串中与模式“[24680]JA[13579](2)]” 配的子字符串。2.编写一个应用程序,用户从键盘输入一行含有数字字符的字符串,程序仅仅输出字符申中的全部数字字符。

2025-06-29 10:02:34 196

原创 Java-Matcher类

类是Java正则表达式API的核心组件之一(位于。避免在循环中重复创建Matcher,优先调用。类配合使用,提供查找、替换、分组提取等功能。的区别:前者查找子串,后者要求完全匹配。表示非捕获分组(不占用分组编号)。多次使用的正则表达式应编译为。Matcher对象必须通过。方法创建,不能直接实例化。(匹配的起始和结束索引)缩小匹配范围提升性能。

2025-06-28 21:29:23 838

空空如也

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

TA关注的人

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