一、sizeof sizeof(...)是运算符,在头文件中typedef为unsigned int,其值在编译时即计算好了,参数可以是数组、指针、类型、对象、函数等。它的功能是:获得保证能容纳实现所建立的最大对象的字节大小。由于在编译时计算,因此sizeof不能用来返回动态分配的内存空间的大小。实...
分类:
其他好文 时间:
2014-08-23 16:42:31
阅读次数:
252
垃圾收集算法
一般来说,垃圾收集算法分为四类:最基础的算法便是标记-清除算法(Mark-Sweep)。算法分为“标记”和“清除”两个阶段:首先标记处需要收集的对象,在标记完成之后,再统一回收所有被标记的对象。
这是最简单的一种算法,但是缺点也是很明显的:一个是效率问题,标记和清除效率都不高。二是空间问题,清除之后会产生大量的空间碎片,导致之后分配大对象找不到足够的连续对象而不得不触发另一次垃圾收集动作。算法执行过程如下图。...
分类:
编程语言 时间:
2014-08-22 16:26:59
阅读次数:
211
在ASP.NET编程中,有三个比较常见的来自于客户端的数据来源:QueryString, Form, Cookie 。我们可以在HttpRequest中访问这三大对象,比如,可以从QueryString中获取包含在URL中的一些参数,可以从Form中获取用户输 入的表单数据,可以从Cookie中获取...
分类:
其他好文 时间:
2014-07-31 13:00:06
阅读次数:
200
第一部分:创建型模式
创建型模式抽象了实例化过程。它们帮助一个系统独立于如何创建、组合和表示它的那些对象。(把一些小的对象组装成大对象,这个工作由专门的类对象来做)
一个类创建型模式使用继承改变被实例化的类,而一个对象创建型模式将实例化委托给另一个对象。
随着系统演化得越来越依赖于对象复合而不是类继承,创建型模式变得更为重要。因为系统定义一个较小的行为集,这些行为可以被...
分类:
其他好文 时间:
2014-07-31 09:55:16
阅读次数:
277
对于一些"大对象"的创建,我们常常希望延迟加载,即在需要的时候再创建对象实例。现在Lazy很好地支持了这一特点。主要包括: 没有Lazy之前 Lazy实例 延迟加载的本质 没有Lazy之前 在没有Lazy之前,我们通过如下方式实现延迟加载。 public class LazySinleton{ pr...
分类:
Web程序 时间:
2014-07-18 14:31:53
阅读次数:
300
1.创建对象的方式有哪些?a.new b。clone c。反序列化 d 反射2.本节就考虑clone创建对象,原型模式简单来说就是利用clone创建对象,好处是,不用调用构造函数的的,clone是本地方法,速度很快,对于大对象创建的效率很棒。3 1 package 原型模式; 2 3 import....
分类:
其他好文 时间:
2014-07-17 22:32:42
阅读次数:
372
CLR垃圾回收器根据所占空间大小划分对象。大对象和小对象的处理方式有很大区别。比如内存碎片整理 —— 在内存中移动大对象的成本是昂贵的,让我们研究一下垃圾回收器是如何处理大对象的,大对象对程序性能有哪些潜在的影响。 大对象堆和垃圾回收 在.Net 1.0和2.0中,如果一个对象的大小超过8500.....
分类:
Web程序 时间:
2014-06-23 00:32:01
阅读次数:
300
Ado.net Entity Framework早期称为ObjectSpace。基于Ado.net操作数据库的一组类库。什么是ADO.NET? 基础.net平台下的操作数据库的一组Api或组建。五大对象。连接池。什么是ORM框架 ???ORM框架就是表实体对象和数据库的表之间的相互转换。edmx模型...
分类:
其他好文 时间:
2014-06-18 20:17:28
阅读次数:
205
目录理解垃圾回收平台的基本工作原理垃圾回收算法垃圾回收与调试使用终结操作来释放本地资源对托管资源使用终结操作是什么导致Finalize方法被调用终结操作揭秘Dispose模式:强制对象清理资源使用实现了Dispose模式的类型C#的using语句手动监视和控制对象的生存期对象复活代线程劫持大对象一、...
分类:
其他好文 时间:
2014-06-12 13:52:49
阅读次数:
546