2015-09-07 35 views
0

這裏我需要做的是獲取所有引用變量指向java中的對象。獲取指向對象的所有引用變量

class Dummy{ 
    public static void main(String[] args){ 
     Object object = new Object(); 
     Object object1 = object; 
     Object object2 = object; 
     Object object3 = object; 
     Object object4 = object; 
     object3 = null; 
    } 
} 

在這個例子中我已經創建對象類和五個參考變量中的一個對象,並分配了相同的對象的所有的參考變量。最後,我將object3設置爲null。現在我需要檢查指向對象的名稱和總體引用變量。

+1

參考文獻不是*雙向*。一個對象不會指向一個引用(或者指向它的變量)。所以,給定一個對象,你找不到指向它的所有引用。 – TheLostMind

+0

閱讀[這SO帖子](http://stackoverflow.com/questions/5334137/is-it-possible-to-get-the-object-reference-count)討論了一個技巧,使用弱引用來感知何時一個對象正在接近垃圾收集,因此沒有提及它。 –

+0

我不明白它的實用性。您能否告訴我們您爲什麼要這樣做? – Blip

回答

1

在運行JVM的上下文中沒有辦法做到這一點。

可以從堆轉儲(例如使用jhat和朋友)或使用分析/調試代理程序執行此操作。但是,識別>>所有包含引用的變量都可能會非常棘手,並且我不知道提供該功能的任何現有工具(調試器,分析器等)。