搜索
写经验 领红包

程序内存泄漏(程序内存泄露测试方法)

导语:作为程序员,你知道什么是“内存泄漏”?什么是“内存溢出”吗?

程序内存泄漏(程序内存泄露测试方法)

作为程序员,经常会听到说:哎呀,不好了,内存泄漏了,或者内存溢出了。但是你知道什么是内存泄漏?什么又是内存溢出吗?它俩是一个概念吗?看完本文后,相信你就明白了。

1、内存泄漏:洋文是:neicunxielou ~~~~~~~~开个玩笑,洋文是:memory leak 。是指程序在申请内存后,无法释放已申请的内存空间,一次内存泄漏似乎不会有大的影响,但内存泄漏堆积后的后果就是内存溢出。内存泄漏是指你向系统申请分配内存进行使用(new),可是使用完了以后却不归还(delete),结果你申请到的那块内存你自己也不能再访问(也许你把它的地址给弄丢了),而系统也不能再次将它分配给需要的程序。通俗得讲:申请的空间没法释放,同时又不能被自己和其它再次使用,就是一块死空间,没发再被用了,内存泄漏了一块,少了一块,就是泄漏了呗。

举个例子:你租了个带钥匙的柜子,你存完东西之后把柜子锁上之后,把钥匙丢了或者没有将钥匙还回去,那么结果就是这个柜子将无法供给任何人使用。

2、内存溢出:洋文是:out of memory。指程序申请内存时,没有足够的内存供申请者使用,或者说,给了你一块存储int类型数据的存储空间,但是你却存储long类型的数据,那么结果就是内存不够用,此时就会报错OOM,即所谓的内存溢出。比方说栈,栈满时再做进栈必定产生空间溢出,叫上溢,栈空时再做退栈也产生空间溢出,称为下溢。就是分配的内存不足以放下数据项序列,称为内存溢出。说白了就是我承受不了那么多,那我就报错,

举个例子:一个盘子用尽各种方法只能装4个果子,你装了5个,结果掉倒地上不能吃了。

那么出现以上情况怎么办呢?预知后事如何,且听下回分解!

感兴趣的,可以继续关注我哦,一起学习吧!

本文内容由小竹整理编辑!