新书推介:《语义网技术体系》
作者:瞿裕忠,胡伟,程龚
   XML论坛     W3CHINA.ORG讨论区     计算机科学论坛     SOAChina论坛     Blog     开放翻译计划     新浪微博  
 
  • 首页
  • 登录
  • 注册
  • 软件下载
  • 资料下载
  • 核心成员
  • 帮助
  •   Add to Google

    >> 本版讨论.NET,C#,ASP,VB技术
    [返回] 中文XML论坛 - 专业的XML技术讨论区计算机技术与应用『 Dot NET,C#,ASP,VB 』 → 管窥.net-----GC 查看新帖用户列表

      发表一个新主题  发表一个新投票  回复主题  (订阅本版) 您是本帖的第 2356 个阅读者  浏览上一篇主题  刷新本主题   树形显示贴子 浏览下一篇主题
     * 贴子主题: 管窥.net-----GC 举报  打印  推荐  IE收藏夹 
       本主题类别:     
     admin 帅哥哟,离线,有人找我吗?
      
      
      
      威望:9
      头衔:W3China站长
      等级:计算机硕士学位(管理员)
      文章:5255
      积分:18407
      门派:W3CHINA.ORG
      注册:2003/10/5

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给admin发送一个短消息 把admin加入好友 查看admin的个人资料 搜索admin在『 Dot NET,C#,ASP,VB 』的所有贴子 点击这里发送电邮给admin  访问admin的主页 引用回复这个贴子 回复这个贴子 查看admin的博客楼主
    发贴心情 管窥.net-----GC


    发信人: walts (小天堂), 信区: DotNET        
    标  题: 管窥.net-----GC
    发信站: BBS 水木清华站 (Wed May  9 10:45:18 2001)

    为什么.Net运行是环境不使用决定性空间析构
    首先说明, 在.Net环境下, 如果对一个类型对象的最后一个引用不再存在,  
    它所占用的空间是不一定会被释放的. 这就是指.Net不是决定性空间析构.  
    那为什么会这样呢? 事实上,这和.Net使用的垃圾自动回收的算法有关.  
    对于一个应用程序来讲, .Net会隔一段时间自动检查它的所有类型对象引用.
    那些在每次查找的时候不再存在的对象才会被自动进行空间回收. 这就是说,
    当一个对象的引用不再存在的时候,不会主动通知.Net运行时环境要回收它的空间.
    只有在下一次进行对象引用扫描的时候才会回收. 这样做的目的就是要尽可能少的
    进行垃圾自动回收, 减少性能损失. 其实, 一般情况下, 当堆空间耗尽的时候,
    就会引发一次垃圾回收扫描操作.  

    对垃圾自动回收能够控制吗?

    是的, System.GC类的确提供了一些有趣的方法.  
    第1个是Collect方法, 它强制垃圾回收器立即回收所有的无引用对象.
    第2个是RequestFinalizeOnShutdown方法, 它告诉垃圾回收器在应用程序退出之
    前一定要调用所引用的每个对象的Finalize方法. 一般的情况下垃圾回收操作执
    行快速操作, 它比Finalize的优先级要高. 所以,用这个函数可以在一定程度上
    保证可靠性.
    用下面这个例子, 可以做一下验证.
    using System;  

    class CTest
    {
    protected override void Finalize()
    {  
      Console.WriteLine( "This is the Finalizer." );  
    }  
    }  

    class CApplication  
    {  
    public static void Main()  
    {  
      Console.WriteLine( "This is Main." );  
      CTest test = new CTest();  
       
      // GC.RequestFinalizeOnShutdown();  
    }
    }
    先运行一遍这个程序,然后把GC.RequestFinalizeOnShutdown这一行的注释去掉,再
    试验一下.

    --

    ※ 来源:·BBS 水木清华站 smth.org·[FROM: 166.111.142.76]
    上一篇
    返回上一页
    回到目录
    回到页首
    下一篇


       收藏   分享  
    顶(0)
      




    ----------------------------------------------

    -----------------------------------------------

    第十二章第一节《用ROR创建面向资源的服务》
    第十二章第二节《用Restlet创建面向资源的服务》
    第三章《REST式服务有什么不同》
    InfoQ SOA首席编辑胡键评《RESTful Web Services中文版》
    [InfoQ文章]解答有关REST的十点疑惑

    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2004/11/9 2:26:00
     
     GoogleAdSense
      
      
      等级:大一新生
      文章:1
      积分:50
      门派:无门无派
      院校:未填写
      注册:2007-01-01
    给Google AdSense发送一个短消息 把Google AdSense加入好友 查看Google AdSense的个人资料 搜索Google AdSense在『 Dot NET,C#,ASP,VB 』的所有贴子 点击这里发送电邮给Google AdSense  访问Google AdSense的主页 引用回复这个贴子 回复这个贴子 查看Google AdSense的博客广告
    2025/6/24 3:17:38

    本主题贴数1,分页: [1]

    管理选项修改tag | 锁定 | 解锁 | 提升 | 删除 | 移动 | 固顶 | 总固顶 | 奖励 | 惩罚 | 发布公告
    W3C Contributing Supporter! W 3 C h i n a ( since 2003 ) 旗 下 站 点
    苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》
    45.898ms