如果您有对象A和B,并且满足以下条件:
然后,这两个对象将被垃圾收集.这称为"循环引用".
这是因为标记和扫描GC将扫描并找出可从根对象访问的所有对象.如果A和B在没有任何外部参考的情况下相互引用,则标记和扫描GC将无法将它们标记为可达,因此将被选为GC的候选者.
有许多不同的标记和扫描实现(天真的标记和扫描,三色等).但基本思想是一样的.如果通过直接/间接引用无法从根目录访问对象,则将对其进行垃圾回收.
| 归档时间: |
|
| 查看次数: |
89 次 |
| 最近记录: |