当前位置: 首页 > 图文教程 > 网络编程 > ASP.NET > .NET中的垃圾回收

ASP.NET
ASP.NET(C#)
ASP.NET入门数据篇
C#Web应用程序入门经典学习笔记之一
ASP.NET2.0 WebRource,开发微调按钮控件
介绍几个ASP.NET中容易忽略但却很重要的方法函数
ASP.Net2.0 GridView 多列排序,显示排序图标,分页
ASP.NET 2.0 中的创建母版页
asp,asp.net学习教程下载
ASP.Net生成一个简单的图片
FCKeditor.Net_2.2安全修正版
ASP.NET与数据库相关技巧
在asp.net下实现Option条目中填充前导空格的方法
在ASP.NET中用MSDNURLRewriting实现Url Rewriting
在ASP.NET中实现多文件上传的方法
Community Server专题二:体系结构
在ASP.NET中重写URL的代码
asp.net下大文件上传知识整理
ASP.NET中常用的三十三种代码
asp.net下实现支持文件分块多点异步上传的 Web Services
ASP.NET 2.0,C#----图像特效处理

ASP.NET 中的 .NET中的垃圾回收


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-28   浏览: 51 ::
收藏到网摘: n/a

GC的全称是garbage collection,中文名称垃圾回收,是.NET中对内存管理的一种功能。垃圾回收器跟踪并回收托管内存中分配的对象,定期执行垃圾回收以回收分配给没有有效引用的对象的内存。当使用可用内存不能满足内存请求时,GC会自动进行。

    在进行垃圾回收时,垃圾回收器会首先搜索内存中的托管对象,然后从托管代码中搜索被引用的对象并标记为有效,接着释放没有被标记为有效的对象并收回内存,最后整理内存将有效对象挪动到一起。这就是GC的四个步骤。

由上可见,GC是很影响性能的,所以一般说来这种事情况还是尽量少发生为好。

    为了减少一些性能影响,.NET的GC支持对象老化,或者说分代的概念,代是对象在内存中相对存现时期的度量单位,对象的代数或存现时期说明对象所属的代。目前.NET的垃圾回收器支持三代。每进行一次GC,没有被回收的对象就自动提升一代。较近创建的对象属于较新的代,比在应用程序生命周期中较早创建的对象的代数低。最近代中的对象位于零代中。每一次GC的时候,都首先回收零代中的对象,只有在较低代数的对象回收完成后仍不能满足需求的情况下才回收较高代数的对象。