首页
›
编程基础与工程化
›
009-多线程与内存管理
›
《系统编程内存分配机制》
VIP20
本课程属于:009-多线程与内存管理
编程基础与工程化 · 共 20 门相关课程,组合学习更完整。
查看所属VIP全部课程 →
← 返回所属目录
咨询 / 购买
系统编程内存分配机制
📚 共计 30 章节
01
内存分配全景图
从物理内存到虚拟内存,为什么需要内存分配器?
全景
虚拟化
02
进程地址空间布局
代码段、数据段、堆、栈、mmap区域的划分与作用
布局
段
03
brk/sbrk系统调用
堆的起点,如何通过调整program break来分配内存
系统调用
堆
04
mmap系统调用
文件映射与匿名映射,大块内存分配的利器
mmap
映射
05
malloc的宏观设计
ptmalloc、jemalloc、tcmalloc三大主流分配器设计哲学
分配器
架构
06
ptmalloc核心数据结构
main_arena、chunk、bins (fastbins/smallbins/unsortedbin/largebins)
ptmalloc
bins
07
chunk的元数据
prev_size、size、fd、bk指针,chunk复用与边界标记
chunk
元数据
08
malloc流程详解
从fastbin到top chunk的完整查找路径
malloc
路径
09
free流程详解
chunk的归还、合并与缓存策略
free
合并
10
realloc与calloc
重新分配与清零分配的实现细节
realloc
calloc
11
内存碎片
内部碎片与外部碎片的成因、影响与度量
碎片
性能
12
内存对齐
自然对齐、cache line对齐与SIMD对齐的硬件要求
对齐
硬件
13
线程安全与锁
malloc的线程安全实现,锁的粒度与性能权衡
线程
锁
14
TLS缓存
Thread Local Cache,无锁分配的核心优化
TLS
无锁
15
jemalloc的arena与bin设计
多arena减少锁竞争,bin的细粒度管理
jemalloc
arena
16
jemalloc的size class
从8字节到超大块的分类与映射
size class
分类
17
tcmalloc的PageHeap与CentralFreeList
页级管理与缓存
tcmalloc
PageHeap
18
tcmalloc的TransferCache
线程间对象转移的优化
TransferCache
优化
19
内存池设计
固定大小对象池、可变大小对象池的实现模式
内存池
对象池
20
slab分配器
Linux内核的slab/slub/slob机制,对象缓存与着色
slab
内核
21
伙伴系统
Buddy System,2的幂次分配与快速合并
伙伴系统
合并
22
栈内存分配
alloca与VLAs,栈帧的自动管理
栈
alloca
23
共享内存
mmap的MAP_SHARED与shmget,进程间通信的内存基础
共享内存
IPC
24
内存屏障与原子操作
volatile、atomic、memory_order对内存分配的影响
屏障
原子
25
内存泄漏检测
mtrace、valgrind、AddressSanitizer的原理与使用
泄漏
检测
26
内存分配性能分析
perf、flamegraph、malloc_stats定位瓶颈
性能
分析
27
自定义分配器
重载operator new/delete,实现一个简单的内存池
自定义
new/delete
28
RAII与智能指针
unique_ptr、shared_ptr、weak_ptr如何管理内存生命周期
RAII
智能指针
29
C++ STL分配器
std::allocator与scoped_allocator_adaptor的适配机制
STL
分配器
30
内存分配的未来
Huge Pages、非易失性内存、C++26的定域分配器
未来
Huge Pages
所属VIP或分类
同VIP:Qt多线程开发与内存管理实战
同VIP:从内存泄漏到项目重构:完整路径实战课程
同VIP:内存泄漏排查与系统化治理方案