CLR VIA C# 阅读笔记和感悟(二)

GC垃圾回收:垃圾回收机制其实是对内存的碎片化管理,首先会暂停所有线程的执行,防止碎片化管理时,对象的状态被修改,然后遍历托管堆中的所有对象,删除没有变量引用的对象,并且移动堆中的所有对象的内存地址,删除对象之间的空隙,变成一块连续的内存,提高对象的引用效率,节省更多的内存空间,但这会导致之前变量保存的地址失效,因为之前保存的地址不再是是对象的起始地址了,所以CLR会根据堆中对象移动的偏移量修改之
相关文章
相关标签/搜索