1
對象如果對象A的對象B和對象B的引用有對象A的參考和他們沒有任何其他活動引用則是它們符合GC?資格GC
對象如果對象A的對象B和對象B的引用有對象A的參考和他們沒有任何其他活動引用則是它們符合GC?資格GC
是。如果對象不是可到達,則可能會發生Java中的對象垃圾收集。它不受循環引用的影響。可達性
一個定義由封裝文檔java.lang.ref提供:
從最強去到最弱,不同層次可達性的反映的對象的生命週期。他們在操作上定義如下:
- 的對象是強可如果它可以通過一些線索,而無需遍歷任何參照物來達到。創建它的線程可以強烈地訪問新創建的對象。 如果某個對象不能很好到達,但可以通過遍歷一個軟引用到達,則該對象可以輕鬆到達。
- 的對象是弱可及,如果它是既不堅決也不是軟可及的,但通過遍歷弱引用可以到達。當清除弱可訪問對象的弱引用時,該對象就有資格進行最終化。
- 一個目的是幻象可達如果既不強烈,潤物無聲,也不弱可及,它已經完成,有的虛引用是指它。
- 最後,一個目的是不可達,因此獲開墾,當它不是在任何上述的方式到達。
Java的GC考慮對象的「垃圾」,如果他們不從開始在垃圾收集根鏈條到達,所以這些對象將被收集。即使對象可能指向對方形成一個循環,但如果它們從根部切斷,它們仍然是垃圾。
http://stackoverflow.com/questions/1910194/garbage-collection-in-java-and-circular-references – NPE
是............... –