浅谈GC

来源:互联网 发布:java分布式面试题 编辑:程序博客网 时间:2024/06/11 22:43

C/C++中由程序员进行对象的回收像学校食堂中由学生收盘子,.Net中由GC进行垃圾回收像餐馆中店员去回收。

GC是垃圾收集器(Garbage Collection)。程序员不用担心内存管理,因为垃圾收集器会自动进行管理。GC只能处理托管内存资源的释放,对于非托管资源则不能使用GC进行回收,必须由程序员手工回收,一个很好的例子就是FileStream或者SqlConnection需要程序员调用Dispose进行资源的回收。

要请求垃圾收集,可以调用下面的方法:

        GC.Collect()一般不需要手动调用GC.Collect()。

当一个对象没有任何变量指向(不再能使用)的时候就可以被回收了。

 

具体事例:当没有任何变量指向一个对象的时候对象就可以被回收掉了,但不一定会立即被回收。

            objectobj = new object();//只有new才会有新对象

            Console.WriteLine(obj);

 

            objectobj2 = obj;

            obj = null;

            obj2 = null;

            Console.WriteLine();

原创粉丝点击