導致記憶體洩露的原因是什麼
記憶體洩露的原因是什麼?導致是怎麼回事??下面就由小編告訴大家吧!
?
記憶體洩漏是指堆記憶體的洩漏。
堆記憶體是指程式從堆中分配的,大小任意的***記憶體塊的大小可以在程式執行期決定***,使用完後必須顯示釋放的記憶體。
應用程式一般使用malloc,realloc,new等函式從堆中分配到一塊記憶體,使用完後,程式必須負責相應的呼叫free或delete釋放該記憶體塊,否則,這塊記憶體就不能被再次使用,我們就說這塊記憶體洩漏了
1. 常發性記憶體洩漏。發生記憶體洩漏的程式碼會被多次執行到,每次被執行的時候都會導致一塊記憶體洩漏。
2. 偶發性記憶體洩漏。發生記憶體洩漏的程式碼只有在某些特定環境或操作過程下才會發生。
3. 一次性記憶體洩漏。發生記憶體洩漏的程式碼只會被執行一次,或者由於演算法上的缺陷,導致總會有一塊僅且一塊記憶體發生洩漏。
比如,在一個Singleton類的建構函式中分配記憶體,在解構函式中卻沒有釋放該記憶體。而Singleton類只存在一個例項,所以記憶體洩漏只會發生一次。
4. 隱式記憶體洩漏。程式在執行過程中不停的分配記憶體,但是直到結束的時候才釋放記憶體。
嚴格的說這裡並沒有發生記憶體洩漏,因為最終程式釋放了所有申請的記憶體。但是對於一個伺服器程式,需要執行幾天,幾周甚至幾個月,不及時釋放記憶體也可能導致最終耗盡系統的所有記憶體。所以,我們稱這類記憶體洩漏為隱式記憶體洩漏。
▸ 記憶體洩露的原因
最近訪問
- 導致記憶體洩露的原因是什麼
- 企業辦公室文祕個人總結
- 適合初中生唱的校園歌曲有哪些
- 引起肥胖的常見原因有哪些
- 科目三路考易掛科的情況
- 新蘇教版初一上冊語文第五單元測試試題及答案
- 幼兒園布藝蝴蝶結髮卡的做法
- 合成生物學閱讀理解附答案
- 簡譜基本樂理知識
- 繁體字九畫屬水的字
- 最長尾巴的動物是什麼
- 適合山東胡蘿蔔的種植時間是多長
- 牌戲人生閱讀答案
- 豌豆的功效與作用及做法
- 高中語文優秀議論文3篇
- 八年級語文下冊第二單元檢測試題
- 他有誠摯廣大的愛閱讀原文及答案
- 有什麼治療痛經的方法
- 歌手樑歡個人資料
- 男人掉頭髮吃什麼好
- 康熙字典五行屬金的字
- 康熙字典五行屬木的字
- 康熙字典五行屬水的字
- 康熙字典五行屬火的字
- 康熙字典五行屬土的字