摘要: 1. 目前,CLR直接使用了Windows的线程,然而将来可能会分离出来,提供比Windows线程更好的功能和性能 2. 创建线程和销毁线程的动作相当的昂贵: 创建线程必须分配并初始化一个线程核心对象,每个线程的用户模式堆栈分配1M的保留地址空间,核心模式堆栈分配12K的保留空间;在线程创建后,Windows立刻通知进程中的每个DLL一个新线程建好了;同样销毁线程也需要通知所有的DLL并释放那些... 阅读全文
posted @ 2010-01-29 00:09 如斯夫 阅读(172) 评论(0) 推荐(0) 编辑
摘要: Google的测试团队发明了一种提升团队测试水平的方式,说白了,就是一种随时随地的知识传递,集中表现在在洗手间的镜子或者门上这些地方,粘贴一些小的tips,帮助大家分享经验,提升技术水平,跟常见的卫生间的广告和笑话的传播渠道没什么区别。 阅读全文
posted @ 2010-01-28 15:30 如斯夫 阅读(285) 评论(0) 推荐(0) 编辑
摘要: 假设有这样一个声明: class A { public void virtual AMethod() { } }   class B: A { override … public void BMethod() { } }   class Client { A a = new B(); a.AMethod(); B b = new B();... 阅读全文
posted @ 2010-01-28 00:04 如斯夫 阅读(225) 评论(0) 推荐(0) 编辑
摘要: 当用一个值类型变量给另外一个值类型的变量赋值时,会进行字段对字段的拷贝; 而用一个引用类型变量给另一个应用类型变量赋值时,只是给被赋值的变量copy了右边变量中存储的内存地址。 也就是说: public class ClassA { string a; } ClassA a = new ClassA(); ClassA b = a; 此时a 和 b指向了同一个对象,改变b的值会影响... 阅读全文
posted @ 2010-01-28 00:00 如斯夫 阅读(190) 评论(0) 推荐(0) 编辑
摘要: 1. GAC,全局程序集缓存,在其中可以存放需要供多个程序调用的程序集,放在GAC中的程序集须具有强签名。.net 在安装的时候在GAC里放了一份.net的程序集,同时在CLR的安装文件夹中也放了一份, GAC中的用于运行时,CLR 中的用于开发时; 2. 强签名可以保证程序集不会被篡改,同时,可以支持同名的程序集并行执行。 3. 类型绑定过程: 1)查找TypeDef表,可以找到引用的类型... 阅读全文
posted @ 2010-01-27 23:33 如斯夫 阅读(213) 评论(0) 推荐(0) 编辑
摘要: 1. 静态变量赋初值 2. 执行静态变量初始化器 3. 基类的静态构造函数执行 4. 当前类的静态构造函数执行 5. 实例变量赋初值 6. 实例变量初始化执行 7. 基类的实例构造函数执行 8. 当前类的实例构造函数执行 例如: 1. public class BaseTest { private static string name = “BaseTest”; static... 阅读全文
posted @ 2010-01-27 23:02 如斯夫 阅读(177) 评论(0) 推荐(0) 编辑
摘要: 幼儿园有个教室,这个教室里有3排座位,第一排是10个座位,第二排是20个座位,第三排是40个座位,有一个老师名叫CLR,C老师就给这个教室起了名字叫“托管堆”。每天,如果有小朋友拿着果果进来,C老师就给分配一个座位,C老师有一套自己的分配座位方式: 1. 如果第一排是空的,那就让来的小朋友依次在第一... 阅读全文
posted @ 2010-01-27 14:18 如斯夫 阅读(199) 评论(0) 推荐(0) 编辑
摘要: 规则: 尽可能地使用初始化器 所谓初始化器,就是在成员变量声明的时候赋值。例如: public class Foo { private string Name = "张三"; } 好处: 1. 初始化器的代码在编译的时候会自动加在所有构造函数中最前面 2. 初始化器的代码会在父类构造函数执行之前执行,并且按照声明的顺序执行 例外: 1. 在初始化器中将成员... 阅读全文
posted @ 2010-01-26 23:35 如斯夫 阅读(168) 评论(0) 推荐(0) 编辑
摘要: 1. ==操作符 两个引用类型的对象(类型继承自System.Object),当使用==操作符来判断是不是相等时,编译器总是生成判断这两个对象的引用是不是相同的中间代码IL。因此==操作符对于两个引用类型的对象而言是等价于静态方法 Object.ReferenceEquals(Object objA, Object objB)的,但为了语义更加清晰,我们应该使用Object.ReferenceE... 阅读全文
posted @ 2010-01-26 22:36 如斯夫 阅读(211) 评论(0) 推荐(0) 编辑
摘要: First Page: 1) List new books 2) List all books My Library: 1. List the book current user borrows 2. List the books which user had borrowed. 阅读全文
posted @ 2010-01-26 14:52 如斯夫 阅读(532) 评论(0) 推荐(0) 编辑