计算Java中任何对象的总内存使用量

计算Java中任何对象的总内存使用量,java,jprofiler,Java,Jprofiler,我用的是jProfiler。我有一个类X的对象。这个类有许多类型为String、Integer和其他类类型的属性。我想知道X类的单个对象消耗了多少内存 当我使用jProfile查找内存使用情况时,我只得到类型为X的对象的大小。我假设,jProfile没有显示其成员变量使用的内存。例如,类X的字符串属性对字符串使用的总内存有贡献 我想计算类X的总内存使用量,包括它的所有属性对象使用的内存。关于如何使用jProfile或其他工具/代码实现这一点的任何信息 提前谢谢 看看这个。它包含有关如何计算Jav

我用的是jProfiler。我有一个类X的对象。这个类有许多类型为String、Integer和其他类类型的属性。我想知道X类的单个对象消耗了多少内存

当我使用jProfile查找内存使用情况时,我只得到类型为X的对象的大小。我假设,jProfile没有显示其成员变量使用的内存。例如,类X的字符串属性对字符串使用的总内存有贡献

我想计算类X的总内存使用量,包括它的所有属性对象使用的内存。关于如何使用jProfile或其他工具/代码实现这一点的任何信息


提前谢谢

看看这个。它包含有关如何计算Java对象内存使用率的信息,以及对用于计算它的工具的引用。

这是一个非常好的工具,可以显示对象使用的总内存


它不仅会向您显示它自己使用的内存,还会显示有多少内存由于引用而保持活动状态。

谢谢您的回答。我尝试将它与Eclipse集成并获取堆转储。。但失败了。你能告诉我如何使用这个工具吗?ThanksIt是一个独立的工具。只需下载并自行运行即可。您不会将其作为Eclipse的插件或插件运行。运行它并在itI中打开一个头部转储文件我确信他们的文档比我在这里提出的任何内容都要全面:不明白这是一个重复的问题,这是关于如何使用JProfiler来完成的,JProfiler完全能够做到这一点。在heap walker中,使用所选对象创建一个对象集,然后单击标题中的“计算保留和深度大小”。深尺寸是你要找的。保留的大小直接显示在references视图中,但它们仅显示如果删除此对象将释放多少内存。