内存泄露

mac2026-02-02  2

什么是内存泄露:

内存泄漏就是申请了空间却没有成功释放,或者是申请了空间,却丢失了指向该空间的指针,造成内存无法操控,

危害:

内存泄漏会导致系统变慢,卡顿,甚至卡死。 长期运行的程序出现内存泄漏,影响,如操作系统,后台服务等,影响很大。

内尺寸泄露的分类:(了解) C/C++ : 程序中一般我们古纳辛两方面: 1 堆内存泄漏 malloc calloc relloc new 等创建出来的空间没有及时调用相应的delete释放掉, 切记: 申请空间和释放空间操作符一定要匹配使用,不匹配可能出错;

2 系统资源泄露 : 比方套接字 ,文件描述符。管道等对应的函数没有释放掉。

如何检测内存泄漏: 1 Linux下检测:有相应几款工具 2 windows 下 第三方工具 VLD

3 其他工具

内存泄露的解决方案: 1 智能指针——————事前预防 2 检测工具——————事后查错

如何避免: 1 申请记得释放(不一定有效(异常安全导致走不到释放的指令),所以还得智能指针管理), 2 采用 RALL思想或智能指针来管理资源; 3:有些公司有检漏工具 4 出错再捡漏(工具靠谱性低,代价高)

最新回复(0)