要求:我需要在应用程序执行期间的各个时间点转储Java应用程序的对象图。但最重要的是,转储需要包含图中所有对象的元数据,例如从System.identityHashCode(object)
获得的参考ID。
我尝试了什么:我发现序列化是获取对象图的goto解决方案。
我尝试了几种不同的解决方案,包括Java内置的Serialization工具,JAXB和XStream。但是我不清楚如何让这些库中的任何一个库都吐出对象的元数据,例如被序列化的对象的原始引用ID。
问题:我想知道是否有一种简单的方法可以在序列化的对象图中包含有关每个对象的其他信息/元数据?
虽然我有兴趣专门存储由System.identityHashCode()
获得的对象的引用id,但是任何关于存储任何数据的指针都是可以接受的。
如果无法添加此类元数据,该信息也将非常有用。
注意:我问这个问题,尽管知道从System.identityHashCode()
方法获得的参考ID不需要在不同对象之间是唯一的。
P.S。我是Java序列化的新手。