六月丁香五月婷婷,丁香五月婷婷网,欧美激情网站,日本护士xxxx,禁止18岁天天操夜夜操,18岁禁止1000免费,国产福利无码一区色费

學(xué)習(xí)啦>學(xué)習(xí)電腦>選購(gòu)與維護(hù)>臺(tái)式機(jī)>

內(nèi)存泄漏的原因是什么

時(shí)間: 孫勝龍652 分享

  還記得小時(shí)候很愛(ài)聽(tīng)歌,也很愛(ài)看電視劇,但是那個(gè)時(shí)候還沒(méi)有互聯(lián)網(wǎng),不能隨時(shí)隨地的想看什么就看什么。但是,幸好,我們有光碟。于是隨著時(shí)間的流逝,家里的光碟越來(lái)越多,已經(jīng)到了,放不下的地步。后來(lái),科技發(fā)展,也出現(xiàn)了內(nèi)存卡啦,u盤(pán)啦。既小巧又容量大,于是大家都紛紛開(kāi)始用這些來(lái)存儲(chǔ)自己的東西。但是過(guò)了一段時(shí)間,突然發(fā)現(xiàn)自己的內(nèi)存突然間變小了,這是為什么呢?學(xué)習(xí)啦小編今天就給大家揭秘一下內(nèi)存泄露的原因。

  1.創(chuàng)建GDI對(duì)象后,比如LoadIcon,LoadImage,CreateImageList等等,沒(méi)有Destroy掉

  2.創(chuàng)建DC后,比如GetDC(), 沒(méi)有釋放DC句柄

  3.new,malloc后沒(méi)有delete,free

  4.創(chuàng)建內(nèi)核對(duì)象(比如CreateFile,CreateMutex,CreateThread),后沒(méi)有釋放內(nèi)核對(duì)象句柄.

  5.創(chuàng)建內(nèi)存映射文件,CreateFileMapping,MapViewOfFile后沒(méi)有CloseHandle(),UnMapviewofFile

  6.保留虛擬地址空間 VirtualAlloc(),然后提交物理存儲(chǔ)器后,沒(méi)有釋放掉

  內(nèi)存泄漏解釋

  簡(jiǎn)單的說(shuō)就是申請(qǐng)了一塊內(nèi)存空間,使用完畢后沒(méi)有釋放掉。它的一般表現(xiàn)方式是程序運(yùn)行時(shí)間越長(zhǎng),占用內(nèi)存越多,最終用盡全部?jī)?nèi)存,整個(gè)系統(tǒng)崩潰。由程序申請(qǐng)的一塊內(nèi)存,且沒(méi)有任何一個(gè)指針指向它,那么這塊內(nèi)存就泄露了。

  泄漏的分類(lèi)

  以發(fā)生的方式來(lái)分類(lèi),內(nèi)存泄漏可以分為4類(lèi):

  (1). 一次性?xún)?nèi)存泄漏。

  發(fā)生內(nèi)存泄漏的代碼只會(huì)被執(zhí)行一次,或者由于算法上的缺陷,導(dǎo)致總會(huì)有一塊僅且一塊內(nèi)存發(fā)生泄漏。比如,在類(lèi)的構(gòu)造函數(shù)中分配內(nèi)存,在析構(gòu)函數(shù)中卻沒(méi)有釋放該內(nèi)存,所以?xún)?nèi)存泄漏只會(huì)發(fā)生一次。

  (2). 隱式內(nèi)存泄漏。

  程序在運(yùn)行過(guò)程中不停的分配內(nèi)存,但是直到結(jié)束的時(shí)候才釋放內(nèi)存。嚴(yán)格的說(shuō)這里并沒(méi)有發(fā)生內(nèi)存泄漏,因?yàn)樽罱K程序釋放了所有申請(qǐng)的內(nèi)存。但是對(duì)于一個(gè)服務(wù)器程序,需要運(yùn)行幾天,幾周甚至幾個(gè)月,不及時(shí)釋放內(nèi)存也可能導(dǎo)致最終耗盡系統(tǒng)的所有內(nèi)存。所以,我們稱(chēng)這類(lèi)內(nèi)存泄漏為隱式內(nèi)存泄漏。

  (3). 常發(fā)性?xún)?nèi)存泄漏。

  發(fā)生內(nèi)存泄漏的代碼會(huì)被多次執(zhí)行到,每次被執(zhí)行的時(shí)候都會(huì)導(dǎo)致一塊內(nèi)存泄漏。

  (4). 偶發(fā)性?xún)?nèi)存泄漏。

  發(fā)生內(nèi)存泄漏的代碼只有在某些特定環(huán)境或操作過(guò)程下才會(huì)發(fā)生。常發(fā)性和偶發(fā)性是相對(duì)的。對(duì)于特定的環(huán)境,偶發(fā)性的也許就變成了常發(fā)性的。所以測(cè)試環(huán)境和測(cè)試方法對(duì)檢測(cè)內(nèi)存泄漏至關(guān)重要。

  其實(shí)看了上面的介紹之后,大家可以發(fā)現(xiàn),其實(shí)內(nèi)存泄露不僅有它們自身質(zhì)量的原因,也有我們作為主人,在使用方法上的失誤。所以小編建議,如果要存儲(chǔ)一些比較重要的東西,最好是買(mǎi)一些質(zhì)量比較好的內(nèi)存卡。還有就是,朋友們最好能改進(jìn)一下自己的使用方法,盡量延長(zhǎng)他們的使用壽命。比如,盡量不要反復(fù)的存入,刪除,最好是能一次性存入。然后在電腦上使用的時(shí)候,盡量先查殺,然后再拔出。希望上面的內(nèi)容能對(duì)你有所幫助。

300958