Garbage Collection: Mark-Sweep

1.2 Automatic dynamic memory management

原则上,回收器最终都会将所有不可达对象回收。

追踪式回收 引入 垃圾 这一具有明确判定标准的概念,但它不一定包含所有不再使用的对象。

出于效率原因,某些对象可能不会被回收。

1.3 Comparing garbage collection algorithms

用什么来衡量各种垃圾回收算法的好坏呢:

安全性。在任何时候都不能回收活的对象。

吞吐量。标记 / 构造率(mark / cons ratio)来衡量,它表示回收器(对存活对象进行标记)与赋值器(创建或者构造新的链表单元)活跃......

cJSON代码阅读(parse)部分

static const char *skip(const char *in) {while (in && *in && (unsigned char)*in<=32) in++; return in;}

跳过空白字符。空白字符即ASCII小于等于32的字符。(我还特意查了ascii的表…)。这里我可能会用isspace(掩面逃…)

static const char *parse_value(cJSON *item,const char *value)

{

if (!value) return 0;

if (......