內存溢出與內存泄露

二者的區別:spa

內存溢出 (out of memory) : 指程序在申請內存時,沒有足夠的內存空間供其使用,出現out of memory;好比申請了一個integer,但給它存了long才能存下的數,那就是內存溢出。內存

內存泄露 (memory leak): 指程序在申請內存後,沒法釋放已申請的內存空間,一次內存泄露危害能夠忽略,但內存泄露堆積後果很嚴重,不管多少內存,早晚會被佔光。內存泄漏

打個比方說:程序

內存溢出就是:我向你借錢,你沒這麼多!我崩潰。內存泄露

內存泄漏就是:我向你借錢,你有,我不還了,你忍了;我向你借錢,你有,我不還了,你忍了;。。。。;但總有一天,你終歸忍無可忍,也會沒錢。memory

 

簡單的說:

內存溢出就是分配不可以。

內存溢出就是回收沒可以。

 

二者的關係:

memory leak會最終會致使out of memory!

相關文章
相關標籤/搜索