2015-09-07 55 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和朋友)或使用分析/调试代理程序执行此操作。但是,识别>>所有包含引用的变量都可能会非常棘手,并且我不知道提供该功能的任何现有工具(调试器,分析器等)。