内存泄漏,内存溢出,野指针,空悬指针,以及如何避免

内存泄漏指的是程序中有申请内存的过程,但在程序结束之后,始终没有或者无法释放占有的内存的则称为内存泄漏,单次的内存的泄漏可能用户并不会察觉,但是累积的内存泄漏将会十分可怕,无论内存的大小,终会被耗光。

内存溢出就是可用的内存均被占用,无法申请内存的情况。

空悬指针指的是一个指针,当它指向的对象已经被释放的时候而自身却没有被置为null的时候,那么这个指针就会变成一个空悬指针。

野指针,通俗的表示就是没有进行初始化的指针,但是因为一个指针没有初始化的时候会一通乱指,这个时候就类似于空悬指针了,所以有的介绍里面将空悬指针作为野指针的一种来进行描述。

如何检测内存泄漏
1.⾸先可以通过观察猜测是否可能发⽣内存泄漏, Linux 中使⽤ swap 命令观察还有多少可⽤的交换空间,在⼀ 两分钟内键⼊该命令三到四次,看看可⽤的交换区是否在减少。
2.还可以使⽤ 其他⼀些 /usr/bin/stat ⼯具如 netstat vmstat 等。如发现波段有内存被分配且从不释放,⼀个 可能的解释就是有个进程出现了内存泄漏。
3.当然也有⽤于内存调试,内存泄漏检测以及性能分析的软件开发⼯具 valgrind 这样的⼯具来进⾏内存泄漏的 检测
  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

我是纠结伦

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值