内存泄漏: memory leak :是指程序在申请内存后,无法释放已申请的内存空间 ; 只出不进漏气一样
内存溢出:就是你要的内存空间超过了系统实际分配的空间,此时系统相当于没法满足你的需求,就会报内存溢出的错误;
比方说栈,栈满时再做进栈必定产生空间溢出,叫上溢,栈空时再做退栈也产生空间溢出,称为下溢。就是分配的内存不足以放下数据项序列,称为内存溢出。说白了就是我承受不了那么多,那我就报错
你是不是该减肥了
内存泄漏的分类:
a.常发性内存泄漏 :发生内存泄漏的代码会被多次执行到,每次被执行的时候都会导致一块内存泄漏
b偶发性内存泄漏: 发生内存泄漏的代码只有在某些特定环境或操作过程下才会发生
c一次性内存泄漏: 发生内存泄漏的代码只会被执行一次,或者由于算法上的缺陷,导致总会有一块仅且一块内存发生泄漏
d.隐式内存泄漏: 程序在运行过程中不停的分配内存,但是直到结束的时候才释放内存 ,不及时释放内存也可能导致最终耗尽系统的所有内存。所以,我们称这类内存泄漏为隐式内存泄漏。