内存泄漏与内存溢出的区别
Posted 码农编程进阶笔记
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了内存泄漏与内存溢出的区别相关的知识,希望对你有一定的参考价值。
一.概念
- 内存溢出 OOM:指你的应用的内存已经不能满足正常使用了,堆栈已经达到系统设置的最大值,进而导致崩溃,这是一种结果描述。
- 内存泄漏(Memory Leak):指你的应用使用资源之后没有及时释放,导致应用内存中持有了不需要的资源,这是一种状态描述。你向系统申请分配内存进行使用(new),可是使用完了以后却不归还(delete),结果你申请到的那块内存你自己也不能再访问(也许你把它的地址给弄丢了),而系统也不能再次将它分配给需要的程序。
通常都是由于内存泄露导致堆栈内存不断增大,从而引发内存溢出。 从用户使用程序的角度来看,内存泄漏本身不会产生什么危害,作为一般的用户,根本感觉不到内存泄漏的存在。真正有危害的是内存泄漏的堆积,这会最终消耗尽系统所有的内存。
作者:墨源为水
链接:https://www.jianshu.com/p/eef57e3ace13
來源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
以上是关于内存泄漏与内存溢出的区别的主要内容,如果未能解决你的问题,请参考以下文章