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标记的对象

  • 相关阅读:
    2014-3-10 时间都去哪了,还没好好感受年轻就老了
    2014-3-4 思杨昨天已经顺利到老家 --------- 回忆思杨之2--“叫你不穿鞋鞋”
    2014-3-4 鬼脸笑笑的思杨
    路由
    视图
    请求与响应
    序列化组件
    APIView源码分析
    CBV源码分析
    DRF入门规范
  • 原文地址:https://www.cnblogs.com/haokaibo/p/2097825.html
Copyright © 2011-2022 走看看