<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
<channel>
<title><![CDATA[Heck's  Blog]]></title> 
<link>https://www.heckjj.com/index.php</link> 
<description><![CDATA[一瞬间的决定，往往可以改变很多，事实上，让自己成功的往往不是知识，是精神！ 如果你总是为自己找借口，那只好让成功推迟。执行力，今天！]]></description> 
<language>zh-cn</language> 
<copyright><![CDATA[Heck's  Blog]]></copyright>
<item>
<link>https://www.heckjj.com/Memory-leak-and-vs-memory-overflow/</link>
<title><![CDATA[关于内存泄漏与内存溢出的区别]]></title> 
<author>Heck &lt;@hecks.tk&gt;</author>
<category><![CDATA[学习心得]]></category>
<pubDate>Tue, 02 Nov 2010 03:15:13 +0000</pubDate> 
<guid>https://www.heckjj.com/Memory-leak-and-vs-memory-overflow/</guid> 
<description>
<![CDATA[ 
	&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="font-family: 微软雅黑;">内存溢出就是你要求分配的内存超出了系统能给你的，系统不能满足需求，于是产生溢出。 <br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;内存泄漏是指你向系统申请分配内存进行使用(new)，可是使用完了以后却不归还(delete)，结果你申请到的那块内存你自己也不能再访问（也许你把它的地址给弄丢了），而系统也不能再次将它分配给需要的程序。一个盘子用尽各种方法只能装4个果子，你装了5个，结果掉倒地上不能吃了。这就是溢出！比方说栈，栈满时再做进栈必定产生空间溢出，叫上溢，栈空时再做退栈也产生空间溢出，称为下溢。就是分配的内存不足以放下数据项序列,称为内存溢出. <br/><br/>&nbsp;&nbsp; 以发生的方式来分类，内存泄漏可以分为4类： <br/><br/>1. 常发性内存泄漏。发生内存泄漏的代码会被多次执行到，每次被执行的时候都会导致一块内存泄漏。 <br/>2. 偶发性内存泄漏。发生内存泄漏的代码只有在某些特定环境或操作过程下才会发生。常发性和偶发性是相对的。对于特定的环境，偶发性的也许就变成了常发性的。所以测试环境和测试方法对检测内存泄漏至关重要。 <br/>3. 一次性内存泄漏。发生内存泄漏的代码只会被执行一次，或者由于算法上的缺陷，导致总会有一块仅且一块内存发生泄漏。比如，在类的构造函数中分配内存，在析构函数中却没有释放该内存，所以内存泄漏只会发生一次。 </span><span style="font-family: 微软雅黑;"><br/>4. 隐式内存泄漏。程序在运行过程中不停的分配内存，但是直到结束的时候才释放内存。严格的说这里并没有发生内存泄漏，因为最终程序释放了所有申请的内存。但是对于一个服务器程序，需要运行几天，几周甚至几个月，不及时释放内存也可能导致最终耗尽系统的所有内存。所以，我们称这类内存泄漏为隐式内存泄漏。 <br/><br/>从用户使用程序的角度来看，内存泄漏本身不会产生什么危害，作为一般的用户，根本感觉不到内存泄漏的存在。真正有危害的是内存泄漏的堆积，这会最终消耗尽系统所有的内存。从这个角度来说，一次性内存泄漏并没有什么危害，因为它不会堆积，而隐式内存泄漏危害性则非常大，因为较之于常发性和偶发性内存泄漏它更难被检测到 </span><br/><br/><br/>Tags - <a href="https://www.heckjj.com/tags/%25E5%2586%2585%25E5%25AD%2598%25E6%25B3%2584%25E6%25BC%258F/" rel="tag">内存泄漏</a> , <a href="https://www.heckjj.com/tags/%25E5%2586%2585%25E5%25AD%2598%25E6%25BA%25A2%25E5%2587%25BA/" rel="tag">内存溢出</a>
]]>
</description>
</item><item>
<link>https://www.heckjj.com/Memory-leak-and-vs-memory-overflow/#blogcomment</link>
<title><![CDATA[[评论] 关于内存泄漏与内存溢出的区别]]></title> 
<author> &lt;user@domain.com&gt;</author>
<category><![CDATA[评论]]></category>
<pubDate>Thu, 01 Jan 1970 00:00:00 +0000</pubDate> 
<guid>https://www.heckjj.com/Memory-leak-and-vs-memory-overflow/#blogcomment</guid> 
<description>
<![CDATA[ 
	
]]>
</description>
</item>
</channel>
</rss>