系统粉 > 电脑问答 > 其他问答

已解决内存泄漏和内存溢出的区别谁了解?

提问者:____疯疯疯子°  |  浏览次  |  提问时间:2017-03-17  |  回答数量:4

内存泄漏和内存溢出的区别谁了解?1.内存泄漏是指分配出去的内存无法回收了 内存泄漏指由于疏忽或错误造成程序未能释放已经不再使用的内存的情况,是应用程序分配某段内存后,由于设计错误,失去了对该段内存的控制,因而造成...

已有4条答案
liuwenj123456

liuwenj123456

回答数:11794  |  被采纳数:59

1.内存泄漏是指分配出去的内存无法回收了 内存泄漏指由于疏忽或错误造成程序未能释放已经不再使用的内存的情况,是应用程序分配某段内存后,由于设计错误,失去了对该段内存的控制,因而造成了内存的浪费。
2.内存溢出是指程序要求的内存,超出了系统所能分配的范围,从而发生溢出。 内存溢是指在一个域中输入的数据超过它的要求而且没有对此作出处理引发的数据溢出问题,多余的数据就可以作为指令在计算机上运行。通常在运行大型软件或游戏时,软件或游戏所需要的内存远远超出了你主机内安装的内存所承受大小,就叫内存溢出。此时软件或游戏就运行不了,系统会提示内存溢出,有时候会自动关闭软件,重启电脑或者软件后释放掉一部分内存又可以正常运行该软件或游戏一段时间
2017-03-17 20:01:07
赞 1179
缘分的小平

缘分的小平

回答数:24214  |  被采纳数:51

内存溢出 out of memory,是指程序在申请内存时,没有足够的内存空间供其使用,出现out of memory;比如申请了一个integer,但给它存了long才能存下的数,那就是内存溢出。内存泄露 memory leak,是指程序在申请内存后,无法释放已申请的内存空间,一次内存泄露危害可以忽略,但内存泄露堆积后果很严重,无论多少内存,迟早会被占光。memory leak会最终会导致out of memory!内存溢出就是你要求分配的内存超出了系统能给你的,系统不能满足需求,于是产生溢出。 内存泄漏是指你向系统申请分配内存进行使用(new),可是使用完了以后却不归还(delete),结果你申请到的那块内存你自己也不能再访问(也许你把它的地址给弄丢了),而系统也不能再次将它分配给需要的程序。一个盘子用尽各种方法只能装4个果子,你装了5个,结果掉倒地上不能吃了。这就是溢出!比方说栈,栈满时再做进栈必定产生空间溢出,叫上溢,栈空时再做退栈也产生空间溢出,称为下溢。就是分配的内存不足以放下数据项序列,称为内存溢出.
2017-03-18 11:29:14
赞 2421
旧丶巴黎heart

旧丶巴黎heart

回答数:24668  |  被采纳数:25

简单的说:
内存泄漏是指程序由于错误或漏洞造成的内存占用过多,或占用内存后无法释放
内存溢出是指已有的数据超过了其获得到的内存所能存储的范围,比如用一个字节存放1000这个数字就属于内存溢出
2017-03-17 11:34:11
赞 2466
安冥

安冥

回答数:4421  |  被采纳数:1

你好,内存溢出就是内存越界。内存越界有一种很常见的情况是调用栈溢出(即stackoverflow),虽然这种情况可以看成是栈内存不足的一种体现。泄漏是说你的程序有BUG 导致内存不释放,希望我的回答能够帮助到你。
2017-03-18 18:41:18
赞 442
相关问答
最新其他问答
解决方法