已有1条回答
管理员
内存溢出是指程序在申请内存时,没有足够的内存空间供其使用,出现outofmemory;比如申请了一个integer,但给它存了long才能存下的数,那就是内存溢出。
内存泄露是指程序在申请内存后,无法释放已申请的内存空间,一次内存泄露危害可以忽略,但内存泄露堆积后果很严重,无论多少内存,迟早会被占光。
内存泄漏可以分为4类:
1、常发性内存泄漏。发生内存泄漏的代码会被多次执行到,每次被执行的时候都会导致一块内存泄漏。
2、偶发性内存泄漏。发生内存泄漏的代码只有在某些特定环境或操作过程下才会发生。常发性和偶发性是相对的。对于特定的环境,偶发性的也许就变成了常发性的。所以测试环境和测试方法对检测内存泄漏至关重要。
3、一次性内存泄漏。发生内存泄漏的代码只会被执行一次,或者由于算法上的缺陷,导致总会有一块仅且一块内存发生泄漏。比如,在类的构造函数中分配内存,在析构函数中却没有释放该内存,所以内存泄漏只会发生一次。
4、隐式内存泄漏。程序在运行过程中不停的分配内存,但是直到结束的时候才释放内存。严格的说这里并没有发生内存泄漏,因为最终程序释放了所有申请的内存。但是对于一个服务器程序,需要运行几天,几周甚至几个月,不及时释放内存也可能导致最终耗尽系统的所有内存。所以,我们称这类内存泄漏为隐式内存泄漏。
猜你喜欢
平房屋顶裂缝漏水如何解决
神仙治愈系文案句子
大排量动力果然恐怖如斯 大排量7座suv车型推荐
豫r是河南哪里的-河南省车辆可以在其他地区长时间使用吗
东风风光e3满电续航 风光e3增程版续航高达950km
壁虎是蜥蜴的一种吗
黑鲨5 RS怎么看本机号码
2019闯红灯如何处罚?扣几分罚款多少?
12490f支持3600内存吗
华为Mate60RS非凡大师和iPhone15ProMax哪个好
迟来的深情比草都轻贱是什么意思
雅可比式怎么进行计算
最新学习
奔驰g63底牌多高
热血青春是张一山演的吗
iPhone15Plus耗电快怎么办
燕麦的热量
华为Mate40全景天气壁纸怎么设置
现代名图变速箱是AT还是CVT
魅族18X有面部识别功能吗
交流接触器常见的最高额定电压6000伏对吗
oppo快应用卸载会造成什么
华为MateX5典藏版怎么设置壁纸
十代思域左侧a柱异响解决
宝马1系颜色有几种 宝马1系有什么颜色(采用6大外观配色)