2010年11月12日

c# 使用 new 操作符构造新对象中做了一些什么 (简单版)

摘要: 平时new算是使用非常频繁的一个关键字这里只是描述 new object() 这种类型的作用其他的暂时不涉及到,本文的内容也比较简单,就列出了一些常用的流程1.在第一次访问某个程序集的时候 (会加载对应的程序,例如需要new的对象在其他的dll里面)  其实步骤一中有很多其他的内容,不过这里就不详细描述了,因为用的比较少  如果找不到dll这个时候就会抛出异常2.给所有静态成员赋值(static)... 阅读全文

posted @ 2010-11-12 20:08 听说读写 阅读(849) 评论(3) 推荐(0) 编辑

常见的.net误解 1-1 字符串是不可修改的(immutable)

摘要: 总是很在很多资料或者文章上介绍.net的字符串是不可以修改的(immutable)先来看看什么是字符串  在.net里面字符串是一个引用类型,但是有很多值类型的特征  例如比较两个字符串,实际上比较的是两个的内容,而不是引用地址 ,(这里涉及到一个概念就是字符串驻留技术)然后我们看看为什么经常有人说字符串是不可以修改的  因为字符串有以下特性:当你对字符串执行 + , Substring 等操... 阅读全文

posted @ 2010-11-12 17:29 听说读写 阅读(1608) 评论(7) 推荐(0) 编辑

CLR via C# 读书笔记 1-3 前台线程和后台线程

摘要: 前台线程(Foreground)后台线程(Background)相互作用:  当所有前台线程退出的时候, CLR会强制终止所有的后台线程,并且不会有异常抛出请参考以下代码(摘自CLR via C# ):代码转换  你可以在任何时候转换前台线程为后台线程,或者反过来. 只要线程还活着默认值:  主线程默认是前台线程  线程池默认是后台线程  新建的默认是后台线程何时使用?  非关键性事务或者可恢复性... 阅读全文

posted @ 2010-11-12 16:43 听说读写 阅读(505) 评论(0) 推荐(0) 编辑

CLR via C# 读书笔记 1-2 创建线程的成本

摘要: 在clr中创建线程的代价还是比较高的 ,他需要两个部分内存:线程核心对象, 存放描述线程的一些内容和上下文. (内存消耗:700B-2500B)线程环境,存放例如异常处理链之类. (内存消耗 1Page 4k-8k)用户模式堆栈, 存放 参数 变量等 ,这也就是平时我们说的堆栈和堆的区别中的堆栈 (内存消耗:1MB)核心模式堆栈, (内存消耗12KB-24KB)基本上看来好像就消耗了1MB多一些的... 阅读全文

posted @ 2010-11-12 15:55 听说读写 阅读(2881) 评论(0) 推荐(0) 编辑

CLR via C# 读书笔记 1-1 何时使用线程或者线程池

摘要: 一般来说在尽可能的情况下使用线程池 除了以下的4个情况需要手动控制线程运行在非默认的优先级上(不推荐)需要表现为前台线程需要长时间的运行一个任务想要手动控制一个线程的生命周期(例如Abort)-------------------------------其实我觉得还有两个重要的方面线程池是全局共享的,也就是说一个程序往线程池里面塞入一些任务 ,那么必然会影响到其他人极端的情况,就是你占用了所有的线... 阅读全文

posted @ 2010-11-12 15:38 听说读写 阅读(450) 评论(0) 推荐(0) 编辑

导航