摘要:
下面我们来解释一下Abort()方法是如何工作的。因为公用语言运行时管理了所有的托管的线程,同样它能在每个线程内抛出异常。Abort()方法能在目标线程中抛出一个ThreadAbortException异常从而导致目标线程的终止。不过Abort()方法被调用后,目标线程可能并不是马上就终止了。因为只要目标线程正在调用非托管的代码而且还没有返回的话,该线程就不会立即终止。而如果目标线程在调用非托管的... 阅读全文
摘要:
垃圾回收理论简述 绪论 在应用程序的开发中,内存管理曾是一件令人痛苦的事情,更不用提存在很多安全漏洞了。内存管理不好的应用程序会不断消耗系统资源并最终导致操作系统的崩溃。通过利用垃圾回收起来管理程序进程中分配的内存,.Net解决了这个问题。这样,开发人员就不用进行枯燥的工作来保证将所有分配的内存都正确地是放给系统。 引用计数 在对象创建后,垃圾回收器会从现有的应用程序内存池分配内存,如果有必要,还... 阅读全文
摘要:
到目前为止已经简单介绍了垃圾回收器的工作方式,试想一下,如何编写自己的代码但不会是垃圾回收器变慢。现在有很多书都是关于CLR以及实现代码的,包括垃圾回收器,所以接下来的该书中将会讨论如何在代码中避免常见的垃圾回收器缺陷。 了解了垃圾回收器的工作方式后,就知道了如何会使垃圾回收器变慢。使垃圾回收器变慢的最常见原因是由于分配了太多东西。每次遍历的根越多,回收就会越慢。这时... 阅读全文
摘要:
前文再续,书接上一回。昨天我们简要地阐述了垃圾回收理论,虽然很多朋友可能还是感觉雾里看花(还有因为昨天没有时间画图片),但是多少也应该有一个概念了吧?(否则我就白写了,呵呵)那么今天我们将会继续深入垃圾回收内部机制——generation(代) 正如我们昨天所说的,“代”用来对托管堆进行分区。托管堆是一个存储区域,公共语言运行库(CLR)应用程序所有的内存分配都是在... 阅读全文
摘要:
首先我们来了解一下什么是Active Directory。不用我描述,看以下网址,或在.net自带帮助文档里根据Active Directory关键字一搜,就什么都明白了。 http://developer.ccidnet.com/pub/article/c322_a28703_p2.html 接下来,我们来看看权限。你可以通过“网上邻居--整个网络--Directory--demain(你的域名... 阅读全文
摘要:
昨天去机场接女朋友,顺手拿了一本《Presenting windows workflow foundation beta edtion》的书,读来读去,发现又有些新的收获(这就是传说中的 书读百遍,其义自现? 多做些实际应用理解会更多)。想写一个系列,全面介绍一下,只是不知道能不能坚持下去。拟定要写得内容有1:基本概念/结构2:通讯,简单的例子3:Activtiy介绍,重点介绍DataA... 阅读全文
摘要:
没做过单元测试的人会问什么是单元测试,做过单元测试的人会问为什么要做单元测试。首先可以肯定的说单元测试是必须要做的,并且每个开发代码的人都做过“单元测试”。为什么单元测试必须要做可去查阅理论家们的阐述。我的理由很简单是你见过那个生产车间不对自己的零配件进行检测就直接组装?!(软件行业和机械制造业非常地相近,并且逐渐的向这个行业靠拢)。 实际上作为每个程序员在代码完后都会对... 阅读全文
摘要:
注:本文中使用的是NH1.0.2.0版本,其他版本配置可能略有不同。示例代码下载(没看明白的看看这个或许可以明白些)数据库脚本下载NHibernate的灵活配置 1.Visual Studio中文件的生成操作 在开始讨论这个话题前,我们想来看看Visual Studio中文件的生成操作。 无(None) - 不在项目输出组中包含该文件,并且在生成进程中不会对其进行编译。例如包含文档的文本文件,如自... 阅读全文
摘要:
剩余油领域模型持久化设计OOA 通过健壮性分析图和交互图(时序图或协作图)分析用例 以C.1产量递减为例: [一、读取用例] 主成功事件流 1、 系统要求用户提供基础数据源:产量递减基础数据 2、 用户提供产量递减基础数据 3、 系统读取产量递减基础数据,要求用户选择递减类型 4、 用户选择递减类型(指数递减、双曲递减、衰减递减) 5、 系统执行产量递减算法产生结果:产量递减结果 ... 阅读全文
摘要:
.NET平台下进行单元测试的两种工具:由KENT BECK 指导的NUnit和微软自身的MSTest。这两种工具各有优缺点。NUnit出现较早,支持的软件平台较多,但是不易于调试。是的,是的,我知道。你可以做一点点小的变动就可以改变这种情况,但是和MSTest比较起来,就差得远了。MSTest与VSNET的集成较好,调试应用都非常方便。但是支持的软件平台就差了许多。比如持续构建,比较典型的... 阅读全文