摘要: 阅读全文
posted @ 2015-03-15 10:10 起点2014 阅读(383) 评论(0) 推荐(0) 编辑
摘要: 上来先看MSDN关于lock的叙述:lock 关键字将语句块标记为临界区,方法是获取给定对象的互斥锁,执行语句,然后释放该锁。 下面的示例包含一个 lock 语句。lock 关键字可确保当一个线程位于代码的临界区时,另一个线程不会进入该临界区。 如果其他线程尝试进入锁定的代码,则它将一直等待(即被阻... 阅读全文
posted @ 2015-03-15 09:06 起点2014 阅读(211) 评论(0) 推荐(0) 编辑
摘要: 先来看看Singleton的用例图:在一个实际的老项目中,有很多的业务类,也不知道当时如何设计的,这些业务类均被设计成了Singleton模式。项目中这些业务类结构如下:而每个业务类的设计均为单例,诸如:public class SearchHelper { private ob... 阅读全文
posted @ 2015-01-12 15:04 起点2014 阅读(677) 评论(2) 推荐(1) 编辑
摘要: P/Invoke的全称是PlatformInvoke(平台调用)它实际上是一种函数调用机制通 过P/Invoke我们就可以调用非托管DLL中的函数。P/Invoke依次执行以下操作:1.查找包含该函数的非托管DLL2.将该非托管DLL加载到内存中3.查找函数在内存中的地址并将其参数按照函数的调用约定... 阅读全文
posted @ 2015-01-05 19:19 起点2014 阅读(2684) 评论(0) 推荐(1) 编辑
摘要: 1. 什么是CLR GC?它是一个基于引用跟踪和代的垃圾回收器。从本质上,它为系统中所有活跃对象都实现了一种引用跟踪模式,如果一个对象没有任何引用指向它,那么这个对象就被认为是垃圾对象,并且可以被回收。GC通过代的概念来跟踪对象的持续时间,活跃时间段的对象被归为0代,而活跃时间更长的被归为1代和2代... 阅读全文
posted @ 2015-01-05 16:46 起点2014 阅读(905) 评论(1) 推荐(2) 编辑
摘要: 一 基础知识在分析之前,先上一张图:从上面可以看到,这个w3wp进程占用了376M内存,启动了54个线程。在使用windbg查看之前,看到的进程含有 *32 字样,意思是在64位机器上已32位方式运行w3wp进程。这个可以通过查看IIS Application Pool 的高级选项进行设置:好了,接... 阅读全文
posted @ 2014-12-30 18:56 起点2014 阅读(12850) 评论(30) 推荐(49) 编辑