关于.NET FrameWork 中的垃圾回收机制
GC是垃圾收集器(Garbage Collection)。程序员不用担心内存管理,因为垃圾收集器会自动进行管理。GC只能处理托管内存资源的释放,对于非托管资源则不能使用GC进行回收,必须由程序员手工回收,一个例子就是FileStream或者SqlConnection需要程序员调用Dispose进行资源的回收。
1 //基础知识:当没有任何变量指向一个对象的时候对象就可以被回收掉了,但不一定会立即被回收。
2 object obj = new object();//只有new才会有新对象
3 Console.WriteLine(obj);
6 object obj2 = obj;
7 obj = null;
8 obj2 = null;
9 Console.WriteLine();
上例中,当obj、obj2赋值为null,就表示他所指向的对象失去了引用,就等待垃圾回收了!
具体的垃圾回收原理图如下: