关于.Net中垃圾回收机制的理解:

1、值类型的内存是自动回收的,GC只管引用类型的回收

2、当使用new定义一个对象时,程序就会在托管堆中分配一块内存用于存放引用对象

3Finalize/析构函数和Dispose的区别: Finalize/析构函数是隐式调用的,用于释放对象;dispose()是显示调用的,用于释放对象所使用的资源,并最终调用析构函数释放对象。可使用GC.SuppressFinalize 方法指定在dispose中不调用Finalize指定对象的终结器

4close()方法很多情况下会调用dispose()方法是否对象和对象资源,但不完全都是这样,如connectio.close()只是关闭数据库连接,并不释放对象

原文地址:https://www.cnblogs.com/gossip/p/1972352.html