二者的区别:spa
内存溢出 (out of memory) : 指程序在申请内存时,没有足够的内存空间供其使用,出现out of memory;好比申请了一个integer,但给它存了long才能存下的数,那就是内存溢出。内存
内存泄露 (memory leak): 指程序在申请内存后,没法释放已申请的内存空间,一次内存泄露危害能够忽略,但内存泄露堆积后果很严重,不管多少内存,早晚会被占光。内存泄漏
打个比方说:程序
内存溢出就是:我向你借钱,你没这么多!我崩溃。内存泄露
内存泄漏就是:我向你借钱,你有,我不还了,你忍了;我向你借钱,你有,我不还了,你忍了;。。。。;但总有一天,你终归忍无可忍,也会没钱。memory
简单的说:
内存溢出就是分配不可以。
内存溢出就是回收没可以。
二者的关系:
memory leak会最终会致使out of memory!