标记清除垃圾回收器的第一个阶段是标记(查找)堆中的所有活动对象。要做到这一点,必须有一个起点或根,从所有标记开始的地方开始。 GC如何识别这些根源?垃圾收集器如何识别根
2
A
回答
2
使用所谓根集enumeratios所有根将被识别技术。下面是马克扫专利文献的句子。
在第一阶段中,可以识别对当前正在运行的程序中的对象的所有直接引用。这些参考被称为根,或者一起被称为根集,并且识别所有这些参考的过程可以被称为根集枚举。
这里是专利文献的链接。 Mark sweep patent link
尽管这是由.NET的家伙,我觉得Basics of mark sweep链接将让你很好的理解它是如何工作的。
2
“A杰出的组对象被假定为可到达的。这些被称为根部典型地,这些包括所有在调用栈中的任何地方引用的对象(即,所有的局部变量和参数的函数目前正在调用),和任何全局变量。
相关问题
- 1. Java垃圾收集器如何识别未引用的对象?
- 2. 垃圾收集器
- 3. 垃圾收集
- 4. 垃圾收集器如何确定对象是否是垃圾?
- 5. 垃圾收集器如何检测垃圾?
- 6. Renderscript和垃圾收集器
- 7. 垃圾收集器闪存
- 8. 垃圾收集器asp.net
- 9. Node.js的垃圾收集器
- 10. 垃圾收集器vs池
- 11. .NET垃圾收集器
- 12. 垃圾收集器Flash Player
- 13. Jruby,垃圾收集器,Redis
- 14. SpiderMonkey垃圾收集器
- 15. 如何配置.net垃圾收集器?
- 16. 如何禁用Java垃圾收集器?
- 17. 垃圾收集器如何保持从堆栈跟踪根
- 18. 垃圾收集java
- 19. DoctrineCommonCache垃圾收集?
- 20. Java垃圾收集
- 21. C#垃圾收集
- 22. Java垃圾收集
- 23. WeakEvent垃圾收集
- 24. GWT垃圾收集
- 25. 垃圾收集YGCT和垃圾收集时间不断上升
- 26. 垃圾收集器和弹簧集成
- 27. 删除根垃圾回收
- 28. 查找垃圾回收根
- 29. JavaScript - 垃圾收集器计时器?
- 30. Parallel Copy垃圾回收器和Parallel Scavenge垃圾回收器的区别