叶溪

导航

GC 是什么? 为什么要有GC?

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

去回收。

GC 是垃圾收集器(Garbage Collection)。程序员不用担心内存管理,因为垃圾收集器会自动进行管理。

GC 只能处理托管内存资源的释放,对于非托管资源则不能使用GC 进行回收,必须由程序员手工回收,一个例子就是FileStream 或者SqlConnection 需要程序员调用Dispose 进行资源的回收。

要请求垃圾收集,可以调用下面的方法:GC.Collect()一般不需要手动调用GC.Collect()。当一个对象没有任何变量指向(不再能使用)的时候就可以被回收了。

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

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

Console.WriteLine(obj);

object obj2 = obj;

obj = null;

obj2 = null;

Console.WriteLine();

posted on 2018-11-14 09:15  叶溪  阅读(357)  评论(0编辑  收藏  举报