最近看高程书,描述标记清除的方法进行垃圾回收的时候,有几个点不理解。原文如下
垃圾收集器在运行的时候会给储存在内存中的所有变量加上标记。然后,它会去掉环境中的变量以及被环境中变量引用的变量的标记。而在此之后再被加上标记的变量将被视为准备删除的变量,原因是环境中的变量已经无法访问到这些变量了。
我想问:文中的环境到底指的是哪个环境。
以下是我的理解,不知道哪里有错误,请指出:
环境如果是函数里面的局部环境,那么文中 它会去掉环境中的变量以及被环境中变量引用的变量的标记 岂不是所有的局部变量都被去掉了,就不会被清楚了。所以这里不是局部环境。
环境如果是全局环境,那被环境中变量引用的变量又是什么意思?