是否可以从内存中获取所有对象?

时间:2010-01-11 12:38:23

标签: java

如何让所有对象都存在于内存中?

public static void main( String[] arg ){
    MyClass object1 = new MyClass();
    BigDecimal bd = new BigDecimal();
    Object obj = new Object();
    List allObjects = getAllObjects(); // return  object1, bd, obj        
    ;
    ;
    ;  

}

2 个答案:

答案 0 :(得分:2)

最简单的方法是通过VisualVM获取堆转储。 JDK还包括相关工具,jmap tool

答案 1 :(得分:2)

我担心在运行时没有简单的答案可以使用Instrumentation How can I access Java heap objects without a reference? 或者写一个代理人 http://java.sun.com/j2se/1.5.0/docs/guide/jvmti/jvmti.html