zoukankan      html  css  js  c++  java
  • .NET对象生命周期——技术知识

    new关键字返回的是一个指向堆上对象的引用,而不是真正的对象本身。如果在方法作用域内将引用变量声明为本地变量,这个引用变量保存在栈内,以供应程序以后使用,CLR为了便于寻找不可访问的对象时,为了优化,堆上的每一个对象指定为属于某“代”。对象在堆上存在的时间越长,它就更可能应该保留。第0代:从没有被标记为回收的新分配的对象。第1代:在一次垃圾回收中没有被回收的对象(也就是说,它标记为回收,但因为已经获取了足够的堆空间而没有被删除)。第2代:在一次以上的垃圾回收后仍然没有被回收的对象。第0和1代称为暂时代。.NET4.0之前,运行时使用并发垃圾回收技术来清理不再使用的对象。当对第0代或第1代对象执行回收时,垃圾收集器会暂时挂起当前进程中的所有活动进程,以确保应用程序在回收过程中不会访问托管堆。.NET4.0以后使用了后台垃圾回收。后台垃圾回收用于非暂时代上的对象,而对于暂时代上的对象,.NET运行时将使用一个专用后台线程进行回收。.NET4.0垃圾回收大大减少了一个给定线程参与垃圾回收细节时必须挂起的时间,这些改进的最终结果是优化了清理第0代和第1代中无用对象的过程。

    作者:流年莫逝
    出处: http://www.cnblogs.com/liunianmoshi/  
    版权声明:本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
    声援博主:如果您觉得文章对您有帮助,可以点击文章右下角【推荐】一下。您的鼓励是作者坚持原创和持续写作的最大动力!
  • 相关阅读:
    CodeForces 219D Choosing Capital for Treeland (树形DP)
    POJ 3162 Walking Race (树的直径,单调队列)
    POJ 2152 Fire (树形DP,经典)
    POJ 1741 Tree (树的分治,树的重心)
    POJ 1655 Balancing Act (树的重心,常规)
    HDU 2196 Computer (树形DP)
    HDU 1520 Anniversary party (树形DP,入门)
    寒门子弟
    JQuery选择器(转)
    (四)Web应用开发---系统架构图
  • 原文地址:https://www.cnblogs.com/liunianmoshi/p/2824891.html
Copyright © 2011-2022 走看看