内存泄漏和内存溢出

举报
liuzhen007 发表于 2021/05/28 06:33:41 2021/05/28
【摘要】 1. 内存泄露(Memory Leak) 是指程序在申请内存后,无法释放已申请的内存空间,一次内存泄露的危害可以忽略,但内存泄露堆积的后果很严重,无论多少内存,最终都会被占光。 2. 内存溢出(Out of Memory, OOM) 是指程序在申请内存时,系统没有足够的内存空间供其使用,出现out of memory。比如,申请了一个integer数据类型空间,却给了它...

1. 内存泄露(Memory Leak)

是指程序在申请内存后,无法释放已申请的内存空间,一次内存泄露的危害可以忽略,但内存泄露堆积的后果很严重,无论多少内存,最终都会被占光。

2. 内存溢出(Out of Memory, OOM)

是指程序在申请内存时,系统没有足够的内存空间供其使用,出现out of memory。比如,申请了一个integer数据类型空间,却给了它一个long类型大小才能存下的数,那会造成内存溢出。

注:内存泄漏最终会导致内存溢出。

内存泄漏是指你向系统申请分配内存进行使用(new),可是使用完了以后却不归还(delete),结果你申请到的那块内存你自己也不能再访问(也许你把它的地址给弄丢了),而系统也不能再次将它分配给需要的程序。内存溢出就是你要求分配的内存超出了系统能给你的,系统不能满足需求,于是产生溢出。比方说栈,栈满时再做进栈必定产生空间溢出,叫上溢,栈空时再做退栈也产生空间溢出,称为下溢。就是分配的内存不足以放下数据项序列,称为内存溢出。

文章来源: liuzhen.blog.csdn.net,作者:Data-Mining,版权归原作者所有,如需转载,请联系作者。

原文链接:liuzhen.blog.csdn.net/article/details/87297115

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。