zoukankan      html  css  js  c++  java
  • Effective C# 学习笔记(基础篇).NET 资源管理基础

    .net 框架中的GC回收机制是这样的,首先GC会通过一个应用对象树形结构来管理所有被应用引用的对象,对于没有被应用引用的对象将被垃圾回收,而其垃圾回收对象的顺序是没有被控制的。GC跑在自己的线程上,其每次运行都会整理堆空间,使未使用的堆空间变得连续。

     

    基于以上机制,对于Finalizers析构来说,其析构执行的时间也是不确定的,所以尽量不要在托管代码中使用Finalize处理析构事宜,但可以析构非托管对象。

     

    Generation标记

    由上一垃圾回收后产生的新对象其 Generation 值为0 (收集初始值:256K)

    由上一垃圾回收后第一次存活下来的对象其Generation的值为1 (收集初始值:2M)

    由两次或以上垃圾回收后存活下来的对象其Generation的值为2 (收集初始值:10M)

    0一般可能是 局部变量

    12一般可能是成员变量 全局变量

    GC通过限制检查12值的对象的次数来提高回收效率 10%的几率检查1标记的对象,1%的几率检查2标记的对象

  • 相关阅读:
    令我印象最深刻的三个老师
    硬盘大于2T安装CentOS7.X时要注意分区
    Linux网卡配置
    Python13:文件操作
    Python12:集合
    Python11:字典
    Python10:String字符串
    Python09:元组
    Python08:列表
    Python07:模块初识
  • 原文地址:https://www.cnblogs.com/haokaibo/p/2097825.html
Copyright © 2011-2022 走看看