天天看點

記憶體溢出,與記憶體洩露

記憶體洩漏: memory leak :是指程式在申請記憶體後,無法釋放已申請的記憶體空間 ; 隻出不進漏氣一樣

記憶體溢出:就是你要的記憶體空間超過了系統實際配置設定的空間,此時系統相當于沒法滿足你的需求,就會報記憶體溢出的錯誤;

比方說棧,棧滿時再做進棧必定産生空間溢出,叫上溢,棧空時再做退棧也産生空間溢出,稱為下溢。就是配置設定的記憶體不足以放下資料項序列,稱為記憶體溢出。說白了就是我承受不了那麼多,那我就報錯

你是不是該減肥了

記憶體洩漏的分類:

a.常發性記憶體洩漏 :發生記憶體洩漏的代碼會被多次執行到,每次被執行的時候都會導緻一塊記憶體洩漏

b偶發性記憶體洩漏: 發生記憶體洩漏的代碼隻有在某些特定環境或操作過程下才會發生

c一次性記憶體洩漏: 發生記憶體洩漏的代碼隻會被執行一次,或者由于算法上的缺陷,導緻總會有一塊僅且一塊記憶體發生洩漏

d.隐式記憶體洩漏:  程式在運作過程中不停的配置設定記憶體,但是直到結束的時候才釋放記憶體  ,不及時釋放記憶體也可能導緻最終耗盡系統的所有記憶體。是以,我們稱這類記憶體洩漏為隐式記憶體洩漏。

繼續閱讀