内存管理
概述
内存管理是分配、使用和释放计算机内存资源的过程,确保程序有效利用内存并防止内存泄漏和其他相关问题。
关键内容
- 内存分配:
- 静态分配:编译时确定内存需求
- 栈分配:函数调用时的局部变量
-
堆分配:动态分配内存空间
-
内存释放:
- 手动释放:程序员负责释放内存(如C/C++)
- 自动释放:垃圾回收机制(如Java、Go)
-
RAII:资源获取即初始化(如C++)
-
内存泄漏:
- 指针失去引用但内存未释放
- 循环引用导致无法回收
-
长生命周期对象持有短生命周期对象
-
内存优化技术:
- 对象池减少分配开销
- 内存池管理大量小对象
- 内存映射文件处理大数据
来源
- 代码优化 — 内存管理是性能优化的重要方面