摘要: 首先说说.NetFramework的构成,主要包括两个部分:CLR(CommonLanguageRuntime)-公共语言运行时和BCL(BasicClassLibrary)基础类库,CLR提供服务:包括诸如内存管理,垃圾回收,线程管理等服务;而BCL则提供实现托管代码:运行在CLR下的代码就是托管代码,它是安全的。诸如C#、VB.NET写的代码都会先编译成MSIL(MS中间代码),并运行在CLR的子集CLI(CommonLanguageInfrastructure)中,最终根据不同的平台使用JIT(justinTime)编译成机器代码。非托管代码:非托管代码主要包括:Com组件,Win32A 阅读全文
posted @ 2011-03-06 16:28 扯 阅读(871) 评论(0) 推荐(0) 编辑
摘要: 1、值类型的内存是自动回收的,GC只管引用类型的回收2、当使用new定义一个对象时,程序就会在托管堆中分配一块内存用于存放引用对象3、Finalize/析构函数和Dispose的区别:Finalize/析构函数是隐式调用的,用于释放对象;dispose()是显示调用的,用于释放对象所使用的资源,并最终调用析构函数释放对象。可使用GC.SuppressFinalize方法指定在dispose中不调用Finalize(指定对象的终结器)4、close()方法很多情况下会调用dispose()方法是否对象和对象资源,但不完全都是这样,如connectio.close()只是关闭数据库连接,并不释放对 阅读全文
posted @ 2011-03-06 16:28 扯 阅读(282) 评论(0) 推荐(0) 编辑