"If an object obj1 is garbage collected, but another object obj2
contains a reference to it, then obj2
is also eligible for garbage
collection"
"If object obj2 can access object obj1 that is eligible for garbage
collection, then obj2 is also eligible
for garbage collection"
This is called "Island of Isolation".
An "island of isolation" describes one
or more objects have NO references to
them from active parts of an
application.
# 1 楼答案
对象A引用对象B。对象B引用对象A。对象A和对象B均未被任何其他对象引用。那是一座孤岛
基本上,隔离岛是一组相互引用但未被应用程序中任何活动对象引用的对象。严格地说,即使是单个未引用的对象也是一个孤立的孤岛
根据评论编辑:
# 2 楼答案
这是这个术语的good explanation。摘录:
# 3 楼答案
事实上,如果您理解垃圾收集的标记和清除的概念,您也会更好地理解隔离岛:
# 4 楼答案
需要记住的是,只有直接或间接地从GC根对象(线程、当前局部变量、静态变量等)引用对象时,才会收集对象。如果两个(或更多)对象相互引用,但未从根引用,则它们有资格进行垃圾收集