摘要: 反射,可以动态加载程序集Assembly.load("xxx")//xxx是程序集的名称,不带程序集的后缀,dll或者别的然后去实例化程序集中的类型,调用类型的方法等。如果这个程序集是c#程序集,不如直接引用该程序集,实例化类型。但当程序集不能被直接引用的时候这个反射就好用了。二。获取类型定义的特性。[attributes]class A{}A instance =new A();Type t=instance.GetType();t.GetAttributes(); 阅读全文
posted @ 2013-06-15 15:58 viola 阅读(136) 评论(0) 推荐(0) 编辑
摘要: crl为了管理托管堆的内存分配和回收问题。设计了垃圾回收机制。首先,引用类型在托管堆上分配内存。clr假设该堆是无限大的。在应用程序加载的时候进行初始化,关闭的时候进行回收。但是,堆再大也是有限度的。当托管堆被用完的时候,clr就开始进行垃圾回收。clr内部保存一个所有对象地址的列表,它会定期检查该表的中的对象,首先假设所有对象都没有被引用然后检查对象是否被一些跟引用,如果是,放弃如果不是就标记为垃圾。等待回收。没有被回收的,升级为第一代垃圾。clr为第一代垃圾分配有限的空间。当该空间被用完时,回收第一代垃圾,从而减少垃圾回收的次数。被剩下的对象升级为第二代。clr垃圾共三代。垃圾回收把程序员 阅读全文
posted @ 2013-06-15 14:49 viola 阅读(135) 评论(0) 推荐(0) 编辑