.net笔记
一、垃圾回收
1.运行.NET应用程序时,程序创建出来的对象都会被CLR跟踪,
2.哪些对象还会被用到(存在引用关系);哪些对象不会再被用到(不存在引用关系),CLR都是有记录的。
3.CLR会整理不会再被用到的对象,在恰当的时机,按一定的规则销毁一部分对象,释放出这些对象所占用的内存。CLR把没用的对象转移到一起去,使内存连续,新分配的对象就在这块连续的内存上创建,这样做是为了减少内存碎片(CLR不会移动大对象)
4.GC只能释放托管资源,不能释放非托管资源(数据库链接、文件流等)
5.尽量不要调用GC.Collect()这样会破坏GC现有的执行策略