标签:托管代码 垃圾回收器 nbsp 经典的 执行 内存分配 经典 mda 垃圾回收
最近阅读了《垃圾回收算法手册》这本经典的书籍,借此机会打算写几篇内存管理算法方面的文章,也算是自己的总结吧。
—— 题记
自动内存管理主要面临以下三个方面的任务:
1.为新对象分配内存空间
2.确定“存活”对象
3.回收“死亡”对象所占用的内存空间
其中任务1一般称作“自动内存分配”(Memory Allocation ,下文简称 MA),任务2、3便是常说的“垃圾回收器”(Garbage Collect 即 gc ,下文简称GC)。一般来说,为了降低自动内存管理系统设计的复杂性和稳定性,一般会采用单线程设计方式,也就是说MA和GC不能同时进行,这样一来就解释一些托管代码在有大量GC的情况下程序卡顿的情况,因为在GC线程运行时,MA线程会等待,即托管代码暂停执行,直到GC结束,如果此时GC运行时间较长,那么程序卡顿的情况就会较为明显。
标签:托管代码 垃圾回收器 nbsp 经典的 执行 内存分配 经典 mda 垃圾回收
原文地址:http://www.cnblogs.com/lixiang-share/p/5994843.html