阅读数:507
已有1条回答
管理员
内存溢出是指程序在申请内存时,没有足够的内存空间供其使用,出现outofmemory;比如申请了一个integer,但给它存了long才能存下的数,那就是内存溢出。
内存泄露是指程序在申请内存后,无法释放已申请的内存空间,一次内存泄露危害可以忽略,但内存泄露堆积后果很严重,无论多少内存,迟早会被占光。
内存泄漏可以分为4类:
1、常发性内存泄漏。发生内存泄漏的代码会被多次执行到,每次被执行的时候都会导致一块内存泄漏。
2、偶发性内存泄漏。发生内存泄漏的代码只有在某些特定环境或操作过程下才会发生。常发性和偶发性是相对的。对于特定的环境,偶发性的也许就变成了常发性的。所以测试环境和测试方法对检测内存泄漏至关重要。
3、一次性内存泄漏。发生内存泄漏的代码只会被执行一次,或者由于算法上的缺陷,导致总会有一块仅且一块内存发生泄漏。比如,在类的构造函数中分配内存,在析构函数中却没有释放该内存,所以内存泄漏只会发生一次。
4、隐式内存泄漏。程序在运行过程中不停的分配内存,但是直到结束的时候才释放内存。严格的说这里并没有发生内存泄漏,因为最终程序释放了所有申请的内存。但是对于一个服务器程序,需要运行几天,几周甚至几个月,不及时释放内存也可能导致最终耗尽系统的所有内存。所以,我们称这类内存泄漏为隐式内存泄漏。
猜你喜欢
充电宝不输出电维修技巧
比亚迪g3发动机(比亚迪g3发动机是什么牌子)
奔驰大g和小g的区别 大g技高一筹
劳斯莱斯车标是什么女神(劳斯莱斯车标背后的故事)
上海为什么叫魔都结界
华为Nova11怎么更换锁屏壁纸
顺丰骑士注册地点可以和以后跑单的地点不一样吗
真我Realme GT NEO3 火影限定版铃声怎么设置
桶装水开封后的保质期是多久
防窥膜为什么不能用指纹
iQOO 11 Pro是全网通手机吗
沃尔沃xc60油电混合版价格 新车仅售29万一台(没有混动车型)
最新学习
科目三考哪些项目 共有16个考试项目(要做到胆大心细)
小型中型大型suv区别 一个技巧教你分辨各种suv的类别
怎么双向清除聊天记录
奥迪a4l大灯调节视频教程
12123补回来的分还能扣吗
长安逸动发动机是国产还是合资 长安逸动发动机质量怎么样
真我RealmeGTNeo5SE字体大小怎么设置
瓷砖有脚臭味如何去除
邓禄普轮胎怎么样 耐磨、节油、价格低(整体性能均衡)
小米13怎么设置胶囊图标
奔腾b70新款用的什么发动机 采用两种发动机配置(1.5T和2.0T)
翻墙软件是什么意思