内存泄露的原因介绍

还记得小时候很爱听歌,也很爱看电视剧,但是那个时候还没有互联网,不能随时随地的想看什么就看什么。但是,幸好,我们有光碟。于是随着时间的流逝,家里的光碟越来越多,已经到了,放不下的地步。后来,科技发展,也出现了内存卡啦,u盘啦。既小巧又容量大,于是大家都纷纷开始用这些来存储自己的东西。但是过了一段时间,突然发现自己的内存突然间变小了,这是为什么呢?小编今天就给大家揭秘一下内存泄露的原因。

1.new,malloc后没有delete,free

2.创建内核对象(比如CreateFile,CreateMutex,CreateThread),后没有释放内核对象句柄.

3.创建内存映射文件,CreateFileMapping,MapViewOfFile后没有CloseHandle(),UnMapviewofFile

4.创建GDI对象后,比如LoadIcon,LoadImage,CreateImageList等等,没有Destroy掉

5.创建DC后,比如GetDC(), 没有释放DC句柄

6.保留虚拟地址空间 VirtualAlloc(),然后提交物理存储器后,没有释放掉

内存泄漏解释

简单的说就是申请了一块内存空间,使用完毕后没有释放掉。它的一般表现方式是程序运行时间越长,占用内存越多,最终用尽全部内存,整个系统崩溃。由程序申请的一块内存,且没有任何一个指针指向它,那么这块内存就泄露了。

编辑本段泄漏的分类

以发生的方式来分类,内存泄漏可以分为4类:

(1). 常发性内存泄漏。

发生内存泄漏的代码会被多次执行到,每次被执行的时候都会导致一块内存泄漏。

(2). 偶发性内存泄漏。

发生内存泄漏的代码只有在某些特定环境或操作过程下才会发生。常发性和偶发性是相对的。对于特定的环境,偶发性的也许就变成了常发性的。所以测试环境和测试方法对检测内存泄漏至关重要。

(3). 一次性内存泄漏。

发生内存泄漏的代码只会被执行一次,或者由于算法上的缺陷,导致总会有一块仅且一块内存发生泄漏。比如,在类的构造函数中分配内存,在析构函数中却没有释放该内存,所以内存泄漏只会发生一次。

(4). 隐式内存泄漏。

程序在运行过程中不停的分配内存,但是直到结束的时候才释放内存。严格的说这里并没有发生内存泄漏,因为最终程序释放了所有申请的内存。但是对于一个服务器程序,需要运行几天,几周甚至几个月,不及时释放内存也可能导致最终耗尽系统的所有内存。所以,我们称这类内存泄漏为隐式内存泄漏。

其实看了上面的介绍之后,大家可以发现,其实内存泄露不仅有它们自身质量的原因,也有我们作为主人,在使用方法上的失误。所以小编建议,如果要存储一些比较重要的东西,最好是买一些质量比较好的内存卡。还有就是,朋友们最好能改进一下自己的使用方法,尽量延长他们的使用寿命。比如,尽量不要反复的存入,删除,最好是能一次性存入。然后在电脑上使用的时候,尽量先查杀,然后再拔出。希望上面的内容能对你有所帮助。

(0)

相关推荐

  • 万家乐热水器打不着火的原因介绍 有什么解决办法?

    随着人们生活水平的不断提高,热水器这种家电产品已经普遍出现在我们那儿日常生活当中了,平时所见到的热水器种类有很多种,有的是燃气式热水器,有的是电热水器,还有的是太阳能热水器.这三种热水器他们各自有各自 ...

  • 冲水马桶品牌及其漏水原因介绍

    在现代的社会上,相信很多人都知道什么是马桶.很多人都使用过马桶,但是很多人对马桶的冲水方式不是很了解.马桶的冲水方式不仅仅只有一种,马桶的冲水方式有很多.不同方式的冲水马桶的清洁程度是不同的,而且适合 ...

  • 透明电动卷闸门故障及原因介绍

    提到电动卷闸门,大家都不陌生,因为我们会看到在街边的门面上,一般都是选用这种门,那么对于透明变动卷闸门我们也是可以见到的,只是不如不锈钢的电闸门那么的普遍.那么如果说我们家里装了一个透明电动卷闸门,出 ...

  • 电视有声音没图像是怎么回事?原因介绍

    电视有声音没图像是怎么回事?原因介绍一 当电视机出现有声音没有图像时,首先应检查一下是不是自己的操作出现失误导致的.还有,如果在打开电视后,只有一些杂音没有图像,这种情况很可能是高频头.中放出了问题. ...

  • 在这个电子时代,了解内存泄露和内存溢出很有必要

    在现如今这个电子信息时代,几乎每个人都离不开网络.离不开电子产品,而内存在电子产品里有至关重要的作用,几乎所有的程序都是需要内存来处理的,当我们使用电子产品时,所进行的程序太多或者太大,也就是内存太满 ...

  • 内存泄露检测工具有哪些

    内存泄露的内存指的是虚拟内存.如果发生内存泄露,最终导致的结果是机器程序运行越来越慢,存储空间越来越不足,一直到整个系统都崩溃.我们平常在使用电脑的时候,很难感觉到内存泄露的存在.其实一次性内存泄露没 ...

  • 游戏卡屏怎么办?原因介绍及方法处理

    很多人在玩游戏时都会经常的碰到一些卡屏事件,这是很常见的,因为很多大型的游戏很容易导致电脑的内存运行不起来,就会卡屏.游戏卡屏该怎么处理呢?一般情况,如果是新电脑,可能是因为网速不行导致的.但是如果是 ...

  • 电脑启动很慢怎么办?最全解决方法及原因介绍

    大家都知道,现在在我们生活中使用最多的电子产品之一就是电脑了.有了电脑之后我们的生活也因此改变了许多,我们的生活因此变得更加丰富多彩,但也有许多人沉迷网络游戏一蹶不振.不过不得不说,在工作方面,电脑确 ...

  • 电脑进入系统后黑屏,解决方法及原因介绍

    很多人在使用电脑的过程中都会遇到这样那样的问题,而且还会束手无策不知道应该怎么解决问题.其实主要是因为电脑是一种高级程序,它的系统很难被我们操控.再者电脑又是由美国人发明的,电脑系统内的编程都是由英文 ...