终止化链表----------------->终止化可达队列---------->Finalize------>清除终止化可达队列项-----(垃圾收集)--->释放对象内存
Dispose模式:
提供给用户多种选择(虽然它们执行代码是相同的)。
using编译器会自动产生一个try块和一个finally块在finally块中编译器会产生代码变量转型一个IDisposable接口,并调用其上的Dispose方法.using语句只能用于那些实现了IDisposeable接口的类型。
使对象复苏:
对象的代龄:
代领是旨在提高垃圾收集器性能的一种机制。
几点假设:
一、对象越新,其生存期越短。
二、对象越老,其生存期越长。
三、对托管堆的一部分执行来及收集要比对整个拖管堆执行垃圾收集速度快。
编程控制垃圾收集器:
System.GC类型为我们的应用程序提供了直接控制垃圾收集器的一些方法:(强制执行垃圾收集)
//Generation指定收集第一代垃圾
void GC.Collect(int32 Generation);
void GC.Collect();
// 挂起调用线程直到处理终止化可达队列的线程清空了该队列
void GC.WaitForPendingFinalizers();
//确定对象所处的代龄
Int32 GetGeneration(Object obj);
Int32 GetGeneration(WeakReference wr)
并发收集:
控制面板---->管理工具------>.Net Framework Configuration---->应用程序-------->添加一个应用程序或者选择一个现存的应用程序----------->属性-------->垃圾回收模式
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/12639172/viewspace-466048/,如需转载,请注明出处,否则将追究法律责任。