自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 归并排序:分治思想的经典应用

合并时判断用相等先取左边,相对位置不变 → 稳定。

2026-05-11 10:02:05 108

原创 插入排序:原理与优化全解析

原理:将数组分已排序 / 未排序区间,逐个把元素插入已排序区间合适位置。复杂度:最好 O (n),平均 / 最坏 O (n²),空间 O (1)。稳定。特点:原地排序、实现简单;近有序数据极快;大数据量不适合,平方级复杂度。二分插入减少比较次数,不改变时间复杂度量级。

2026-05-11 09:58:02 99

原创 选择排序:原理、特点与实现详解

每一轮,和未排序区间;,逐步扩大左边有序区间。

2026-05-10 10:17:47 176

原创 冒泡排序:原理与优化全解析

轮数:最多n-1轮每轮结束后,末尾 i 个元素已有序,无需再比较标志位减少不必要循环适用场景:数据量很小、几乎接近有序的场景不适合:大数据量排序,平方级复杂度效率太低。

2026-05-10 10:15:29 220

原创 单例模式:C++实现与多线程安全

单例模式是一种创建型设计模式,确保一个类有且仅有一个实例,并向整个系统提供唯一的全局访问点。严格控制唯一实例全局访问方便避免重复创建销毁开销避免资源竞争冲突。

2026-05-09 10:18:30 458

原创 C++虚函数机制深度解析:从原理到实战

多态是指“以一个接口,多种实现”的能力。在 C++ 中,通过在基类中使用。

2026-05-09 10:08:08 276

原创 C++运算符重载

C++ 的运算符重载(Operator Overloading)是其强大扩展性的体现,它允许开发者赋予内置运算符(如<<等)处理自定义类对象的能力。

2026-05-08 13:13:34 268

原创 C++ std::function:万能函数包装器

的模板参数是一个函数签名,格式为返回值类型(参数列表)。C++// 声明一个返回值为 int,接受两个 int 参数的函数包装器。

2026-05-08 13:08:58 185

原创 C++无序容器:哈希表原理与性能优化

如果你想使用自定义类作为哈希函数:特化。相等比较:重载operator==。C++// 1. 插入// 2. 查找// 3. 容量与桶// 桶的数量// 当前负载因子。

2026-05-07 09:40:34 271

原创 c++ 智能指针的底层原理

类型所有权引用计数拷贝能力主要用途unique_ptr独占无仅移动资源独占管理、轻量级场景shared_ptr共享原子计数可拷贝共享生命周期、多线程环境weak_ptr无所有权弱引用计数可拷贝观察生命周期、解决循环引用。

2026-05-07 09:29:08 558

原创 C++ STL map/set核心知识点精要

【代码】C++ STL map/set核心知识点精要。

2026-05-06 11:38:48 287

原创 线程池技术详解:核心原理与高效实现

线程池是一种,用于的并发处理机制。它通过避免频繁创建 / 销毁线程带来的性能损耗,同时统一控制并发数量、任务排队与调度。

2026-05-06 11:22:28 591

原创 STL list特性

/ 1. 空链表// 2. 指定大小,默认值 0// 3. 指定大小 + 初始值// 5 个 10// 4. 拷贝构造// 5. 用数组初始化。

2026-05-05 11:56:48 313

原创 双端队列deque

cpp运行// 1. 空 deque// 2. 指定大小,默认值 0// 3. 指定大小 + 初始值// 5 个 10// 4. 拷贝构造// 5. 用数组初始化。

2026-05-05 11:50:33 186

原创 C++ STL vector

int age;

2026-05-04 17:54:19 46

原创 C++异常处理

推荐继承 std::exception,重写what()cppprivate:string msg;public:// 重写what,加const// 使用throw MyException("自定义业务异常");return 0;

2026-05-04 17:41:42 459

原创 C++虚函数:从基础到高阶

在类的成员函数前加virtual关键字,就是虚函数。运行时决定调用哪个类的函数(动态绑定 / 晚绑定)。没有函数体,用= 0结尾:cpp运行包含纯虚函数 → 编译报错。

2026-05-03 11:10:49 407

原创 I/O多路复用与一致性哈希技术

哈希环存节点,数据顺时针找节点;虚拟节点均分压力,扩容缩容不雪崩。

2026-05-03 10:57:11 512

原创 线程的竞争与协作

2026-05-02 21:36:48 227

原创 进程与线程管理的机制

包含::socket()bind()listen()accept()recv()send()close():socket()connect()send()recv()close()

2026-05-02 21:25:35 388

原创 操作系统内存管理机制

本文系统阐述了操作系统内存管理机制。首先介绍了虚拟内存概念,详细解析了分段机制的实现原理及其碎片问题;其次深入探讨了分页机制,包括页表映射、缺页处理和TLB优化;然后分析了段页式结合的寻址方式;最后说明了Linux系统的内存布局结构。全文重点对比了分段与分页两种机制的优缺点,分段会产生外部碎片但管理灵活,分页避免了外部碎片但可能产生内部碎片,二者通过段页式结合实现优势互补。这些内存管理技术共同支撑了现代操作系统的内存抽象与高效利用。

2026-04-30 14:06:18 44

原创 IP基础知识

IP 地址是互联网中设备的唯一标识符,相当于设备的"门牌号",用于在网络中进行定位和通信。

2026-04-30 14:03:06 174

原创 TCP连接与优化策略

启用tcp_syncookies可应对半连接队列溢出:首次SYN不存入队列,通过cookie机制验证后续握手。全连接队列满时,新到达的ACK会被丢弃,通过tcp_abort_on_overflow参数控制处理方式:设为0时会触发超时重传,设为1则直接发送RST终止连接。零窗口时启动探测机制,定期查询窗口状态。半连接队列满时启用syncookie机制,全连接队列满时根据tcp_abort_on_overflow选择超时重传或立即终止。半连接队列(SYN队列)存储处于SYN_RECV状态的连接请求。

2026-04-29 19:50:31 345

原创 TCP与UDP

动态生成(基于计时器和哈希函数),避免历史连接干扰。

2026-04-29 11:03:45 755

原创 HTTP核心特性与HTTPS安全解析

HTTPS在HTTP基础上增加了SSL/TLS加密协议,确保数据传输安全。适用场景:静态资源(JS/CSS/图片/字体等)状态码:200 (from cache)状态码:304 Not Modified。适用场景:HTML文件、频繁更新的资源。特点:不发送请求,直接使用本地缓存。特点:发送请求,服务器校验资源状态。HTTP 缓存技术(面试精简版)HTTP与HTTPS的主要区别。

2026-04-28 09:30:00 37

原创 HTTP协议核心:状态码与头部详解

HTTP(HyperText Transfer Protocol)是一种用于传输超文本的应用层协议,采用明文传输方式。其核心功能包括请求响应模型、状态码机制和头部字段控制。表示请求已被接收,需要继续处理。

2026-04-27 10:44:21 38

原创 网址输入后的网络传输全过程

【代码】网址输入后的网络传输全过程。

2026-04-27 10:00:00 18

原创 TCP/IP:网络通信

用于不同设备上的进程通信,需要用到网络通信。

2026-04-26 13:17:26 115

原创 C++面向对象编程

C++的类定义之后,将类的成员函数存储在 方法区(代码区), 当类对象创建时,则会在相应的区域 (栈、全局区、堆)中创建成员属性空间,存储对应属性值, 简称为对象空间。当对象调用成员函数,则自动将对象的地址传入到成员 函数(重新编译的新成员函数, 第一个参数是 当前类的指针类型,即this).每个类都有自己的构造函数和析构函数, 构造函数是用于初始化为对象的成员属性的,而析构函数是对 象销毁时,回收对象空间的(栈: 自动,堆:自己手动回收)。类的声明可以在头文件中, 在源文件中定义类中的声明的成员函数。

2026-03-13 13:40:58 244

原创 OOP面向对象编程

如Student, MyClass, StudentManager, StudentFactory 访问权限: private (私有的, 仅内部访问), 默认的(不写的),protected(受保护, 子类可访问), public(公共的, 对象可访问)。对象(实例): 对象是类中具体化, 是类的构造出来的。相当于结构体类型的变量。类对象具有自己的 生命周期(构造函数: 创建或初始化, 析构函数: 销毁的)。类成员: 普通的属性, 函数的声明, 函数的定义。类也是一种数据结构,C++的类从结构体派生的。

2026-03-12 10:00:00 31

原创 C++11新特性

c++11中增加decltype 函数,用于将函数中的表达式计算结果 预知为相关的数据类型。数组或容器的元素的个数也是迭代的次数。分隔的for循环不同的,后者是通过下标或索引方式访问元素的。string在C++中是一个类, 使用时包含初始化,元素访问,运算符重载(=, +=, >, <,...) 、查询、分隔、替换等类成员函数。auto类型推导:auto定义的变量,可以根据初始化的值,在编译时推导出变量名的类型。C++的const修饰的变量 可以修饰存储空间的值。如C++中使用的空指针值或类型。

2026-03-11 16:12:20 48

原创 C++基础入门

const或volatile关键字修饰形参时,形参是传递值时(普通变量),不构成重载;如果修饰是指针或引 用时,则构成重载。注: 函数的返回值类型并不影响重载的特性。有缺省的参数则会重新声明没有缺省的函数(前提条件:返 回值及数据类型保持一致)。1.1 函数重载的定义 在C++中函数重载(静态多态)是有多个名称相同的函数(重载函数集),但参数(列)表不同的。1.2 const和volatile 修饰变量和指针或引用。const或volatile修饰地址或引用。

2025-10-20 08:15:00 199

原创 C++基础入门

C++中的inline函数和参数默认值特性:inline函数通过空间换时间,在调用处直接展开函数体,适合简单函数;函数参数默认值允许调用时省略部分参数,但带默认值的参数必须位于参数列表右侧。示例展示了inline函数add2比普通add函数更快,以及默认参数add(90)调用时使用预设值的情况。

2025-10-18 13:06:29 118

原创 C++基础

1.2 引用替换指针的应用场景 引用没有自己的存储空间,即没有二级引用(引用的引用), 同时也不能解引用。引用不能赋值NULL, 而指针变量可以 引用定义之后,不能再修改(不能指向其它的变量): 引用是常标识;1.1 什么是引用 引用: 是变量的别名, 没有自己的存储空间,是指向变量(被引用变量)的地址空间。局部变量: 栈 全局变量: 全局区(静态全局区,非静态区) register 修饰的变量: 寄存储器 static 修饰的变量: 静态全局区 引用标识符: 数据类型 & 引用标识符必须同类型一起使用。

2025-10-18 13:02:14 182

原创 线性表的存储结构——单链表

单链表的最后一个节点指向。:指向下一个节点的地址。

2025-05-21 19:40:50 275

原创 线性表的顺序存储结构---顺序表

【代码】线性表的顺序存储结构---顺序表。

2025-03-03 20:16:39 101

空空如也

空空如也

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

TA关注的人

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