二者的區別:spa
內存溢出 (out of memory) : 指程序在申請內存時,沒有足夠的內存空間供其使用,出現out of memory;好比申請了一個integer,但給它存了long才能存下的數,那就是內存溢出。內存
內存泄露 (memory leak): 指程序在申請內存後,沒法釋放已申請的內存空間,一次內存泄露危害能夠忽略,但內存泄露堆積後果很嚴重,不管多少內存,早晚會被佔光。內存泄漏
打個比方說:程序
內存溢出就是:我向你借錢,你沒這麼多!我崩潰。內存泄露
內存泄漏就是:我向你借錢,你有,我不還了,你忍了;我向你借錢,你有,我不還了,你忍了;。。。。;但總有一天,你終歸忍無可忍,也會沒錢。memory
簡單的說:
內存溢出就是分配不可以。
內存溢出就是回收沒可以。
二者的關係:
memory leak會最終會致使out of memory!