首页 > 代码库 > 自动内存管理算法 —— 标记法

自动内存管理算法 —— 标记法

    最近阅读了《垃圾回收算法手册》这本经典的书籍,借此机会打算写几篇内存管理算法方面的文章,也算是自己的总结吧。

                                                                                                                                                                    —— 题记

自动内存管理系统

    自动内存管理主要面临以下三个方面的任务:

    1.为新对象分配内存空间

    2.确定“存活”对象

    3.回收“死亡”对象所占用的内存空间

其中任务1一般称作“自动内存分配”(Memory Allocation ,下文简称 MA),任务2、3便是常说的“垃圾回收器”(Garbage Collect 即 gc ,下文简称GC)。一般来说,为了降低自动内存管理系统设计的复杂性和稳定性,一般会采用单线程设计方式,也就是说MA和GC不能同时进行,这样一来就解释一些托管代码在有大量GC的情况下程序卡顿的情况,因为在GC线程运行时,MA线程会等待,即托管代码暂停执行,直到GC结束,如果此时GC运行时间较长,那么程序卡顿的情况就会较为明显。

自动内存管理算法 —— 标记法