自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 C++ 模板与泛型编程

假设你要写一个函数来比较两个值的大小:逻辑完全相同,只是类型不同。这就是代码重复,违反了 DRY(Don’t Repeat Yourself)原则。模板的核心目的就是:让编译器帮你根据类型自动生成代码。关键概念:非类型模板参数模板参数不一定是类型,也可以是值(必须是编译期常量):应用:固定大小的环形缓冲区、编译期确定的消息 ID 范围。1.4 模板的默认参数1.5 成员函数模板类的成员函数也可以是模板,独立于类模板参数:关键理解:模板不是函数或类本身,而是编译器生成函数或类的蓝图。只有在

2026-04-04 16:14:39 427 1

原创 Gtest

Google Test(简称 gtest)是 Google 开源的 C++ 测试框架。它被广泛应用于工业级 C++ 项目中,包括 Chromium、LLVM、OpenCV 等知名项目。所有断言都支持用<<<< "当输入为 n=" << n << " 时结果不符预期";这在循环中调用断言时特别有用,能帮你快速定位是哪次迭代出了问题。死亡测试用于验证程序在特定条件下是否会按预期终止(比如触发assert、调用abort()、或exit()这在测试错误处理逻辑时非常有用。

2026-03-24 18:12:24 400

原创 Actor模型:从原理到实战,搞懂无锁高并发

Actor模型的本质是一种架构级别的并发抽象用消息传递取代共享内存,从根本上消除数据竞争用Mailbox实现异步解耦,让系统具备弹性用监督树实现自动容错,让系统具备自愈能力用位置透明实现分布式扩展,让系统具备伸缩性它不是银弹,但在正确的场景下,它能让你的并发代码从噩梦变成工程。

2026-03-19 18:00:19 426

原创 深入理解分布式系统:从 CAP 定理到 BASE 理论

本文深入剖析分布式系统的核心理论CAP定理与BASE理论。CAP定理指出分布式系统无法同时满足一致性、可用性和分区容错性,必须权衡选择CP或AP系统。BASE理论则提供工程实践方案,通过基本可用、软状态和最终一致性来平衡CAP约束。文章还澄清常见误解,并介绍PACELC模型作为CAP的补充,帮助开发者理解分布式系统的本质与设计原则。

2026-03-18 11:31:18 354

原创 项目--协程库(C++)模块解析篇

协程库实现和性能测试

2025-11-29 01:30:42 1128 1

原创 项目--协程库(C++)前置知识篇

协程库实现的前置知识

2025-11-29 01:29:24 765

原创 C++20 协程

C++20 协程

2025-11-13 00:12:10 1168

原创 项目--缓存系统(C++)

FIFO、LRU、LFU、ARC

2025-10-29 15:51:09 1027

原创 B树(B-树)

B树增删查模板

2025-10-18 00:16:24 611

原创 LRU Cache 最近最少使用

LRU模板

2025-10-15 22:43:53 169

原创 SkipList跳表

跳表模板

2025-10-15 21:05:21 654

原创 Linux -- 线程、锁

Linux线程、线程同步、生产者消费者、线程池、死锁

2025-06-20 15:38:13 1319

原创 Linux -- 进程信号

本文介绍了Linux信号机制及其应用。信号是一种进程间异步通知的软中断方式,用于处理诸如Ctrl+C(SIGINT)、硬件异常等情况。文章详细讲解了信号的生命周期(产生、保存、处理),包括通过键盘输入、kill命令、系统调用(kill/raise/abort)等多种信号产生方式。重点阐述了signal和sigaction系统调用的使用方法及区别,以及信号集操作函数(sigprocmask/sigpending等)对信号屏蔽的控制机制。此外,还分析了内核态与用户态切换机制、可重入函数、volatile关键字、

2025-06-07 18:16:05 1157 2

原创 Linux -- 进程间通信(IPC)-- 进程间通信、管道、system V 共享内存、system V 消息队列、责任链模式 、system V 信号量、建造者模式、IPC资源管理

进程间通信、管道、system V 共享内存、system V 消息队列、责任链模式 、system V 信号量、建造者模式、IPC资源管理

2025-03-25 23:33:37 1426 3

原创 Linux--软硬链接、动静态库

动静态库、ELF文件、链接与加载

2025-03-19 19:44:39 1277 3

原创 Linux -- 磁盘结构、文件系统ext2

磁盘的物理结构和逻辑结构、CHS寻址、LBA寻址、文件系统ext2、块、分区、inode、目录与文件名、路径解析、路径缓存、挂载分区

2025-03-06 18:06:59 1225

原创 Linux -- I/O接口,文件标识符fd、file结构体、缓冲区、重定向、简单封装C文件接口

文件相关

2025-03-03 18:31:10 1210

原创 Linux--进程(进程虚拟地址空间、页表、进程控制、实现简易shell)

进程虚拟地址空间、页表、进程控制、实现简易shell

2025-02-22 23:02:10 1523

原创 Linux--命令行参数、环境变量

命令行参数、环境变量、本地变量

2025-02-20 00:12:28 1343

原创 Linux--进程(进程概念、PCB、进程状态、孤儿进程、进程优先级、进程切换、进程调度)

进程是操作系统中的一个核心概念,指的是正在执行的程序实例。它不仅包含程序的代码,还涉及程序运行时的状态和资源。程序静态的指令集合;比如:通过语言编写的程序。进程:程序的一次动态执行,包括代码、数据和状态(将磁盘的代码加载到内存中,运行的程序称之为进程 )。进程 = 内核数据结构(例如:PCB) + 程序的代码和数据执行完就退出 -- 例如:ls,pwd等指令一直不退,直到用户退出 -- 常驻进程(例如:杀毒软件)

2025-02-19 01:03:36 1384

原创 冯·诺依曼体系结构和初步认识Linux操作系统

任何计算机系统都包含一个基本的程序集合,称为操作系统(OS),是管理计算机硬件与软件资源的系统软件,充当用户与硬件之间的桥梁。内核(进程管理、内存管理、文件管理、驱动管理)其他程序(如:函数库、shell程序等)

2025-02-17 21:27:36 1112

原创 Miller-Rabin 米勒拉宾素性检测

Miller - Rabin = 费马小定理 + 二次检测定理

2024-12-06 22:24:20 1383 2

原创 0x10 基础数据结构 -- 0x14 Hash

hash,字符串hash,最长回文子串问题,中心扩展法,插'#'优化,Manacher算法

2024-11-23 16:02:26 1246

原创 0x00基础算法 -- 0x06 倍增

倍增、ST

2024-11-19 00:33:03 752

原创 0x00基础算法 -- 0x05 排序

离散化,中位数,第k大数,归排--逆序对

2024-11-16 00:16:35 949 2

原创 0x00基础算法 -- 0x04 二分

二分

2024-11-13 00:07:49 699

原创 0x00基础算法 -- 0x03 前缀和与差分

前缀和、差分

2024-11-12 00:07:42 1048

原创 0x00基础算法 -- 0x02 递归与递推

递归、递推、分治、分形

2024-11-10 23:46:02 905

原创 0x00基础算法 -- 0x01 位运算

位运算

2024-11-09 23:10:37 1129 2

原创 Golang--反射

反射

2024-11-09 16:22:41 723

原创 Golang--网络编程

TCP编程

2024-11-08 21:42:22 995

原创 Golang--协程和管道

协程,锁,管道,阻塞

2024-11-07 23:46:35 1640

原创 Golang--文件操作

文件操作

2024-11-07 00:26:41 609

原创 Golang--面向对象

结构体、方法、封装、继承、接口、多态、断言

2024-11-06 22:25:41 2034

原创 Golang--数组、切片、映射

数组、切片、映射

2024-11-05 00:13:51 1189

原创 Golang--函数、包、defer、系统函数、内置函数

函数、包、init函数、匿名函数、闭包、defer关键字、系统函数、内置函数

2024-11-03 22:38:36 1034

原创 Golang--流程控制

分支结构,循环结构

2024-11-03 00:36:34 1348

原创 Golang--运算符

运算符、获取用户终端输入

2024-11-02 23:19:20 587

原创 Golang--DOS命令、变量、基本数据类型、标识符

DOS命令,语法基础,变量,数据类型,标识符

2024-11-02 22:17:47 1191

原创 Linux环境基础开发工具使用

Linux环境一些工具的使用

2024-10-24 09:35:04 878

空空如也

空空如也

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

TA关注的人

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