柚子Nan--回归原点

Everything can be as easy as you like or as complex as you need.
posts - 233, comments - 985, trackbacks - 17, articles - 29
  博客园 :: 首页 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理

垃圾收集学习笔记(第一章)

Posted on 2004-05-29 10:56 柚子Nan 阅读(634) 评论(1)  编辑 收藏 网摘 所属分类: [技术.Net]

首先,关注起垃圾收集GC还来源于.GameFrameWork一帮朋友的兴趣!最近项目实在太忙,虽然不是项目中绝对重要的角色,但是打杂的工作还是少不了我哦

内存的分配机制导致了垃圾收集的产生,其实GC主要解决
动态分配( Dynamic Allocation ):在堆中动态分配内存空间以存储数据的方式。堆中的内存块好像我们日常使用的餐巾纸,用过了就得扔到垃圾箱里,否则屋内就会满地狼藉。像我这样的懒人做梦都想有一台家用机器人跟在身边打扫卫生。在软件开发中,如果你懒得释放内存,那么你也需要一台类似的机器人——这其实就是一个由特定算法实现的垃圾收集器。
因此我们一般提及的垃圾收集技术都是对于动态分配到堆中的内存的回收!

几个历史上经典的垃圾收集算法,在几种垃圾收集算法

今天,垃圾收集的研究方向包括
分布式系统的垃圾收集、复杂事务环境下的垃圾收集、数据库等特定系统的垃圾收集等等。


以上文章参考自王永刚的文章,强烈推荐,对算法思路不清楚参见永刚的关于“餐巾纸”作的比喻的文章,超级精彩


 

Feedback

#1楼    回复  引用  查看    

2004-05-30 15:21 by 柚子nan      

一些乱七八糟的备忘!
系统可用内存总量、分配给对象的内存的周期类别(代)。在GC类中定义,MaxGeneration 只读属性2
显然是最流行的一个按代收集的算法
代是对象在内存中相对存现时期的度量单位

Collect()/Collect(int)强制收集
GetGeneration返回指定对象的当前代数

ToolTip是非托管资源,需要手工的Finalize去释放内存。
问题:还有哪些资源是属于非托管资源(前几天好像看到过Sumtec提到过释放ToolTip
http://www.msdnaa.net/Resources/Display.aspx?ResID=601
Jeffrey Richter 文章在2000年的,不过理论还是一样
 http://msdn.microsoft.com/msdnmag/issues/1100/gci/default.aspx





标题  
姓名  
主页
Email (博主才能看到) 
验证码 *  看不清,换一张 [登录][注册]
内容(请不要发表任何与政治相关的内容)  
  登录  使用高级评论  新用户注册  返回页首  恢复上次提交      
Google站内搜索

相关文章:

相关链接: