In faster schemes, garbage collection is not based on reference counting.
Instead, it is based on the idea that any non-dead object must ultimately be traceable back to a reference that lives either on the stack or in static storage. The chain might go through several layers of objects.
Thus, if you start in the stack and in the static storage area and walk through all the references, you’ll find all the live objects.
For each reference that you find, you must trace into the object that it points to and then follow all the references in that object, tracing into the objects they point to, etc., until you’ve moved through the entire Web that originated with the reference on the stack or in static storage.
Each object that you move through must still be alive. Note that there is no problem with detached self-referential groups—these are simply not found, and are therefore automatically garbage.
最后提到 detached self-referential groups
不会被gc
发现是为什么呢?按照从stack and static storage
出发应该会经过这些自参照(self-referential
)的引用。其中说到的`chain也不是很理解,感觉太突兀了,希望有所了解的人可以帮助一下我。万分感谢!
付费偷看金额在0.1-10元之间
一周热门 更多>