摘要:
浅谈C#托管程序中的资源释放问题 便于对文章的开展,需要先明确两个概念。第一个就是很多人用.Net写程序,会谈到托管这个概念。那么.Net所指的资源托管到底是什么意思,是相对于所有资源,还是只限于某一方面资源?很多人对此不是很了解,其实.Net所指的托管只是针对内存这一个方面,并不是对于所有的资源;因此对于Stream,数据库的连接,GDI+的相关对象,还有Com对象等等,这些资源并不是受到.Ne... 阅读全文
摘要:
1:本地Client机process和远程Server机process 的通讯与交流 机制:Client Process--------Channels-------Server Process 2:对象序列化与反序列化 机制:保存对象的数据(xml文件或是二进制文件),传输后根据类的定义还原对象,这样使得对象能在进程间迁移。 3:如何使用远程对象 (1)使用远程对象的引用 (本机... 阅读全文
摘要:
性能1:装箱与拆箱 int--object int在堆栈中 object的对象是在托管堆中 装箱要将值类型的值复制 然后再托管堆构筑, int x=10; object x_object=x; x=20; x改变了,X_object的值不变还是10 拆箱object--int反之 ,显示这样的操作是要消耗性能的 ,而且拆箱后的多余的对象对GC又是负担了... 阅读全文
摘要:
GC机制〉根 对象托管堆 (~)终止化链表 终止化队列〉GC对托管对象有很好的清理工作,但对象使用了非托管资源时,我们需要一些机制来帮助GC做好清理工作。 1:析构函数~ Finalize()完成器 。Object 保护方法Finalize() 可以被继承对象重写,一旦被重写(用~函数),GC就认为它是含完成器的对象。 。一个对象的~编译后成proteced override void... 阅读全文