.NET内存中存在泄漏吗

来源:互联网 发布:java更换jdk版本 编辑:程序博客网 时间:2024/06/08 01:05
 

.Net中会存在内存泄漏吗,请简单描述

所谓内存泄露就是指一个不再被程序使用的对象或变量一直被占据在内存中。

.Net中有垃圾回收机制,它可以保证一对象不再被引用的时候,即对象编程了

孤儿的时候,对象将自动被垃圾回收器从内存中清除掉。虽然.Net可以回收无

用的对象,但是.Net仍然存在由于使用不当导致的内存泄露问题。.Net中的内

存泄露的情况:长生命周期的对象持有短生命周期对象的引用就很可能发生内

存泄露,尽管短生命周期对象已经不再需要,但是因为长生命周期对象持有它

的引用而导致不能被回收,这就是.Net中内存泄露的发生场景,通俗地说,

就是程序员可能创建了一个对象,以后一直不再使用这个对象,这个对象却一

直被引用,即这个对象无用但是却无法被垃圾回收器回收的,这就是.Net中可

能出现内存泄露的情况,例如,缓存系统,我们加载了一个对象放在缓存中

(例如放在一个全局Dictionary对象中),然后一直不再使用它,这个对象一直被缓存引用,但却不再被使用。

 

 

 

保持初学者的心态!!!