摘要: 1.垃圾收集器(GC)控制着托管内存。但是我们需要对非托管代码进行处理(数据库连接,文件句柄,GDI+对象,COM对象等)2.垃圾收集器是运行在一个单独的线程中来移除程序中不再使用的内存。并且还会压缩托管堆,使得空闲内存能集中在一个连续的区域。3.对于非托管资源我们需要在类型中定义一个终结器,以此来确保释放这些系统资源。在对象的内存被回收之前,系统会调用终结器,这样我们可以在终结器中编写我们的代码来释放该对象占有的非托管资源。值得注意的是对象的终结器是在对象成为垃圾之后调用的,但是在内存归还之前,但是我们无法精确的控制“不再使用对象”和“执行终结器”这2个事件之间的关系。4.当GC发现某个对象 阅读全文
posted @ 2011-01-05 00:05 yu_liantao 阅读(281) 评论(0) 推荐(0) 编辑
摘要: 本内容参考大话设计模式记录对象:一切事物皆对象。类:对对象进行的抽象。实例:类的一个具体实体。方法重载:方法名相同但是参数类型或者个数不同的方法。面向对象的三大特性:继承,封装,多态继承:子类继承父类后具有父类的保护和公有的一些方法,属性等并且能扩充自己。对于父类的构造函数只能调用不能继承。当对象与对象的关系是is-a时候用继承,当关系式has-a我们应该用组合或者聚合(桥接模式)。封装:一个类在... 阅读全文
posted @ 2010-12-04 17:07 yu_liantao 阅读(250) 评论(0) 推荐(0) 编辑
摘要: 1.对于SQL2000和SQL2005实用的分页方法一:SELECTTOP页大小*FROMtable1WHEREidNOTIN(SELECTTOP页大小*(页数-1) idFROMtable1ORDERBYid)ORDERBYid方法二:SELECTTOP页大小*FROMtable1WHEREid>(SELECTISNULL(MAX(id),0) FROM ( SELECTTOP页大小*(页... 阅读全文
posted @ 2010-10-06 13:32 yu_liantao 阅读(417) 评论(0) 推荐(0) 编辑
摘要: 1.获取记录总数的优化 select rows from sysindexes where id = object_id('tablename') and indid in (0,1) sysindexes 系统表中拥有至少一条其他表的记录,其中rows记录总数,object_id('tablename')表示转换成表对应在sysindexes 的id编号, indid 表示是具体的对象,当表没有... 阅读全文
posted @ 2010-09-29 23:21 yu_liantao 阅读(396) 评论(0) 推荐(0) 编辑