是否可以从内存中获取所有对象?
问题描述:
如何获取内存中的所有对象?是否可以从内存中获取所有对象?
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
;
;
;
}
答
恐怕没有简单的答案在运行时要做到这一点,无论你用仪表 How can I access Java heap objects without a reference? 或写代理 http://java.sun.com/j2se/1.5.0/docs/guide/jvmti/jvmti.html
这是一个不寻常的问题,什么问题是你想解决? – Gennadiy 2010-01-11 12:39:31
@Gennadiy:我想获得内存中的所有对象,然后将它们全部保存为yaml。 – 2010-01-11 12:55:13
我认为你可以在课堂内收集它们,并在需要时对其进行序列化? – 2010-01-11 12:58:07