如何让所有对象都存在于内存中?
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
;
;
;
}
答案 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