08 2012 档案
摘要:在某种程度上,对象会在内存中一个挨一个的放置,这样就很容易指向下一个空闲单元的堆指针,来确定下一个对象的位置。在堆上添加跟对对象是时,也容易调整,但这比较复杂,因为基于堆的生存期与引用他们的基于堆栈的变量的作用域不匹配。 在垃圾收集器运行时,会在堆中删除不在引用的所有对象。在完成删除动作后,堆会立即把对象分散开来,与已经释放的内存混合在一起。如下图:如果托管的堆也是这样,在其上给新对象分配内存就成了一个很难处理的过程。运行库必须搜索整个堆,才能找到足够大的内存块来存储新的对象。但是垃圾收集器不会让堆处于这种状态。只要它释放了能释放的对象,就会把其他对象移动到堆的顶部再次形成一个连续的内存...
阅读全文
浙公网安备 33010602011771号