博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

2012年3月13日

摘要: 微软声称.NET是一种革命性的编程技术。许多要素使它成为大多数开发人员的首选。本文我们将要讨论一下.NET Framework中一个很主要的优势——内存和资源管理的便捷性。关于垃圾回收器 每个程序都会使用一定次序的资源,或内存缓冲区,或网络连接,或数据库资源等等。实际上,在面向对象环境中,每种类型都被看作是程序的某些有效资源。为了使用这些资源,必须分配部分内存来描述这种类型。 资源访问按一下步骤进行:1. 为类型分配内存来描述资源。2. 初始化资源,把资源设置成初始化状态,使资源可用。3. 通过访问类型实例的成员来使用资源(按需求重复)。4. 销毁资源状态以清除资源。5. 释放内存。.NET中 阅读全文

posted @ 2012-03-13 10:01 qianyz 阅读(278) 评论(0) 推荐(0) 编辑

摘要: 上一篇文章介绍了.Net 垃圾回收的基本原理和垃圾回收执行Finalize方法的内部机制;这一篇我们看下弱引用对象,代,多线程垃圾回收,大对象处理以及和垃圾回收相关的性能计数器。让我们从弱引用对象说起,弱引用对象可以减轻大对象带来的内存压力。弱引用(Weak References)当程序的根对象指向一个对象时,这个对象是可达的,垃圾回收器不能回收它,这称为对对象的强引用。和强引用相对的是弱引用,当一个对象上存在弱引用时,垃圾回收器可以回收此对象,但是也允许程序访问这个对象。这是怎么回事儿呢?请往下看。如果一个对象上仅存在弱引用,并且垃圾回收器在运行,这个对象就会被回收,之后如果程序中要访问这个 阅读全文

posted @ 2012-03-13 09:54 qianyz 阅读(293) 评论(0) 推荐(0) 编辑

摘要: 【译】.Net 垃圾回收机制原理(一)转载:yukaizhao有了Microsoft.Net clr中的垃圾回收机制程序员不需要再关注什么时候释放内存,释放内存这件事儿完全由GC做了,对程序员来说是透明的。尽管如此,作为一个.Net程序员很有必要理解垃圾回收是如何工作的。这篇文章我们就来看下.Net是如何分配和管理托管内存的,之后再一步一步描述垃圾回收器工作的算法机制。为程序设计一个适当的内存管理策略是困难的也是乏味的,这个工作还会影响你专注于解决程序本身要解决的问题。有没有一种内置的方法可以帮助开发人员解决内存管理的问题呢?当然有了,在.Net中就是GC,垃圾回收。让我们想一下,每一个程序都 阅读全文

posted @ 2012-03-13 09:52 qianyz 阅读(199) 评论(0) 推荐(0) 编辑