摘要: CLR中采用代(generation)来作为其垃圾回收的一种机制,其唯一的目的是提升程序的性能。基予代的垃圾回收器有以下假设: ·对象越新,其生存周期越短。 ·对象越老,其生存周期越长。 ·回收堆的一部分,速度快于回收整个堆。 托管堆在初始化时不包括任何对象。添加到堆的对象称为第0代对象。下图展示一个新启动的应用程序,其分配了五个对象(A-E)。运行一段时间后,C、E变为垃圾。 CLR初始化时,它会为第0代对象选择一个初始容量,假定为256KB。当分配对象时,一旦第0代超出这个数值,就必须启动一次垃圾回收。假如A-E刚好占用256KB,分配F时,会启动垃圾回收。此 阅读全文
posted @ 2013-11-14 16:38 蚂蚁拉车 阅读(403) 评论(0) 推荐(1) 编辑