標記清除垃圾回收器的第一個階段是標記(查找)堆中的所有活動對象。要做到這一點,必須有一個起點或根,從所有標記開始的地方開始。 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垃圾回收器的區別