分享

#垃圾回收机制

 昵称10504424 2014-01-02

1:垃圾回收机制

CLR托管堆:

(1)第0代--预算容量256k

(2)第1代--预算容量2M

(3)第2代--预算容量10M

注:在不同的程序中,托管堆上的实际内存管理对象的容量可能不会按照预算容量大小开辟

当第0代对象充满的时候,会自动进行垃圾回收,这时第0代中未被释放的对象成为了第1代,而新创建的对象变成第0代,以此类推,当第0代再次充满的时候会继续执行垃圾回收,未被释放的对象会被添加到第1代,随着程序的执行,第1代对象中也会产生垃圾,此时垃圾回收器并不会立即执行回收操作,而是等第1代被充满变成第2代时被回收并整理内存。

2:Finalize析构函数被调用的条件:

(1)第0代对象充满

(2)显示调用System.GC的Collect方法

(3)Windows内存不足

(4)应用程序被关闭

(5)CLR被关闭

3:释放模式

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多