[英]Java heapdump analysis find source for the instantiated objects
我正在使用jvisualvm分析堆转储。 从报告中我可以看到类,实例数和大小。
我想知道的是 - 这些对象的源(实例化了这个类)。 对于给定的对象,如果我能够知道所有源类和每个类创建的实例数,我想可以很容易地识别出错误的候选者。
这有可能吗? 如果是这样,是否有比其他工具更好的工具来提供此类信息?
YourKit按大小和数量提供分配跟踪。 您可以搜索创建的特定类并查找热点。 评估版是免费的。 ;)
你试过了吗
jhat <yourdump>
假设您的作品具有以下形式:
私人Blah blah = new Blah();
对于每个实例,您都可以看到谁拥有对它的引用。 它还提供了强大的查询语言[OQL]。 请参阅示例: jhat OQL AND在where子句中
但是如果你在其他地方创建它并简单地将它传递给另一个类字段,你将无法从内存转储[使用任何工具]找到它,因为它只是一个快照。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.