内存泄露是指某个程序在申请了一些内存之后,长时间占用,无法释放已经申请的内存空间,一次的内存泄露没有什么大的影响,但是当多次内存泄露堆积起来就发展成了内存溢出(out of memory)
**内存溢出(out of memory)**指的是在程序申请内存的时候,没有足够的内存空间给他;或者需要的是int类型的数,却放入了long类型的数。这些情况都会报错的;
二者的关系
内存泄漏的堆积最终会导致内存溢出
内存溢出就是你要的内存空间超过了系统实际分配给你的空间,此时系统相当于没法满足你的需求,就会报内存溢出的错误。
内存泄漏是指你向系统申请分配内存进行使用(new),可是使用完了以后却不归还(delete),结果你申请到的那块内存你自己也不能再访问(也许你把它的地址给弄丢了),而系统也不能再次将它分配给需要的程序。
内存溢出:比方说栈,栈满时再做进栈必定产生空间溢出,叫上溢,栈空时再做退栈也产生空间溢出,称为下溢。就是分配的内存不足以放下数据项序列,称为内存溢出。说白了就是我承受不了那么多,那我就报错。