01
内存管理概述
为什么大型工程需要内存管理?内存泄漏、内存碎片、内存越界的危害。
基础核心概念
02
内存分配器原理
malloc/free 底层实现、brk/sbrk 系统调用、mmap 映射机制。
系统调用glibc
03
堆内存与栈内存
栈帧结构、栈溢出检测、堆内存生命周期管理。
运行时安全
04
RAII 与智能指针
C++ RAII 设计模式、unique_ptr、shared_ptr、weak_ptr 实战。
C++现代C++
05
内存池技术
固定大小内存池、变长内存池、Slab 分配器、TCMalloc 原理。
性能分配器
06
引用计数与垃圾回收
手动引用计数、循环引用问题、ARC 与 GC 对比。
GCSwift
07
内存对齐与缓存友好
结构体对齐规则、padding 优化、Cache Line 利用。
优化CPU
08
内存泄漏检测
Valgrind、AddressSanitizer、LeakSanitizer 使用与原理。
工具调试
09
内存越界检测
ASan 原理、红区检测、Shadow Memory 机制。
ASan安全
10
内存碎片整理
外部碎片 vs 内部碎片、伙伴系统、紧凑算法。
OS算法
11
写时复制技术
COW 在字符串、文件映射、进程 fork 中的应用。
COWLinux
12
内存映射文件
mmap 实现大文件读写、共享内存、持久化内存。
mmapIPC
13
内存屏障与原子操作
volatile、memory_order、CAS 操作、无锁数据结构。
并发原子
14
内存序与可见性
StoreLoad、StoreStore、LoadLoad、LoadStore 屏障。
内存模型CPU
15
内存序模型
顺序一致性、获取-释放、松散模型、RCU 机制。
RCU理论
16
内存分配策略
最佳适应、最差适应、首次适应、伙伴系统对比。
算法OS
17
内存压缩与交换
zram、zswap、swap 机制、OOM Killer 策略。
压缩内核
18
内存热插拔与 NUMA
NUMA 架构、内存亲和性、page migration。
NUMA服务器
19
内存安全与 Rust
所有权系统、借用检查、生命周期标注、unsafe 代码。
Rust安全
20
内存安全与 Go
逃逸分析、GC 调优、内存分配器 mcache/mcentral。
GoGC
21
内存安全与 Java
JVM 堆结构、GC 算法(CMS/G1/ZGC)、堆外内存。
JVMGC
22
内存性能分析
perf、FlameGraph、内存带宽测试、延迟测试。
perf火焰图
23
内存压缩算法
LZ4、Zstd、Snappy 在内存压缩中的应用。
压缩算法
24
内存数据库
Redis 内存优化、内存表、持久化与快照。
RedisNoSQL
25
内存文件系统
tmpfs、ramfs、dm-cache 原理与配置。
文件系统内核
26
内存虚拟化
KVM 内存虚拟化、EPT、影子页表、大页支持。
虚拟化KVM
27
内存容器化
Cgroup 内存限制、OOM 控制、memory.swap 管理。
容器cgroup
28
内存故障处理
ECC 内存、MCE 处理、内存故障预测。
硬件可靠性
29
内存调试技巧
GDB 内存调试、core dump 分析、内存快照。
GDB调试
30
内存管理最佳实践
编码规范、Code Review 清单、自动化测试、监控告警。
规范工程化