.NET(C#)垃圾回收

mac2022-06-30  10

  ASP.NET给我的印象是方便、快捷,使用C#的WEB、Windows、Service等程序都无需理会复杂的指针和句柄也能实现程序的制作,这一切的便捷很大程度上归功于垃圾回收器(GC-Garbage Collector)只要定义的变量离开作用域,GC便会自动回收其占用的内存……

    现在电脑的配置普遍都比较好了,以至于很多程序的编写者都不怎么关心内存的管理,往往的做法是开辟了一个内存空间,不去或不及时去释放。放任内存的占用也许表面上不会造成什么麻烦,因为即使这样,电脑也不会因为程序内存消耗过度而导致崩溃。

    可是,作为一个程序的设计和编写者,不因该只满足于程序功能的实现和运行,程序的效率值得挖掘,GC不是万能的,他不能回收诸如数据库的连接、流对象Stream、GDI+、Com等资源。

    对于这些非托管的资源,GC无法很好的将其迅速回收。对于这部分资源我们就得用完就释放掉。理论上任何类的实际都有必要实现Dispose接口。

  使用Using语法也是一个不错的选择。

转载于:https://www.cnblogs.com/GISZL/archive/2011/11/14/2248933.html

相关资源:.NET_C#_栈_堆_垃圾回收GC
最新回复(0)