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

Posted 久光

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了自动内存管理算法 —— 标记法相关的知识,希望对你有一定的参考价值。

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

                                                                                                                                                                    —— 题记

自动内存管理系统

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

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

    2.确定“存活”对象

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

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

以上是关于自动内存管理算法 —— 标记法的主要内容,如果未能解决你的问题,请参考以下文章

内存管理初始化源码3:bootmem

JVM——从菜鸟到入门

性能篇内存管理概述

三.protobuf3标量值类型

java中的内存分配

Python之爬虫