阅读数:507
已有1条回答
管理员
内存溢出是指程序在申请内存时,没有足够的内存空间供其使用,出现outofmemory;比如申请了一个integer,但给它存了long才能存下的数,那就是内存溢出。
内存泄露是指程序在申请内存后,无法释放已申请的内存空间,一次内存泄露危害可以忽略,但内存泄露堆积后果很严重,无论多少内存,迟早会被占光。
内存泄漏可以分为4类:
1、常发性内存泄漏。发生内存泄漏的代码会被多次执行到,每次被执行的时候都会导致一块内存泄漏。
2、偶发性内存泄漏。发生内存泄漏的代码只有在某些特定环境或操作过程下才会发生。常发性和偶发性是相对的。对于特定的环境,偶发性的也许就变成了常发性的。所以测试环境和测试方法对检测内存泄漏至关重要。
3、一次性内存泄漏。发生内存泄漏的代码只会被执行一次,或者由于算法上的缺陷,导致总会有一块仅且一块内存发生泄漏。比如,在类的构造函数中分配内存,在析构函数中却没有释放该内存,所以内存泄漏只会发生一次。
4、隐式内存泄漏。程序在运行过程中不停的分配内存,但是直到结束的时候才释放内存。严格的说这里并没有发生内存泄漏,因为最终程序释放了所有申请的内存。但是对于一个服务器程序,需要运行几天,几周甚至几个月,不及时释放内存也可能导致最终耗尽系统的所有内存。所以,我们称这类内存泄漏为隐式内存泄漏。
猜你喜欢
汽车空调需要加氟吗(汽车空调缺氟会出现什么状况)
孙红雷在什么电视剧中扮演王浩
小米sos紧急求助模式怎么关闭
vivo X Fold2怎么看电池健康
宝骏730自动挡多少钱 宝骏730自动挡售价仅需8万元
玛莎拉蒂车型报价图片 玛莎拉蒂大型车总裁新车落地价141.75万
奕炫max暗夜版上市时间 2021年12月上市(黑色哑光车身涂装)
什么是交强险 交强险的赔偿范围
b是什么牌子的车
红米note11为什么没有呼吸灯
科目二半联动看转速表
七座suv推荐 十万以下销量最高口碑最好的几款车型推荐
最新学习
iphone15pro什么时候可以到手
个人食品检测要去哪里
本田飞度轮毂尺寸多大 汽车轮毂尺寸为16英寸
西施的一生历史故事
鞋带的系法
发动机油多久换一次 发动机油的作用
轮胎w和y哪个级别高
一个身份证可以注册几个快手号
荣耀magic5pro怎么显示步数
OPPO Pad 2是护眼屏吗
AirPods 3丢了怎么找回
梦见祠堂吃饭是什么意思