【发布时间】:2013-03-31 10:31:59
【问题描述】:
我正在使用 jProfiler。我有一个 X 类的对象。这个类有许多 String、Integer 和其他类类型的属性。我想知道 X 类的单个对象消耗了多少内存。
当我使用 jProfile 查找内存使用情况时,我只得到 X 类型对象的大小。我假设 jProfiler 没有显示其成员变量使用的内存。例如,X 类的 String 属性对 String 使用的总内存有贡献。
我想计算类 X 的总内存使用量,包括其所有属性对象使用的内存。有关如何使用 jProfile 或其他工具/代码实现这一目标的任何信息?
提前致谢!
【问题讨论】:
-
看不出这是一个重复的问题,这是关于如何使用完全有能力这样做的 JProfiler 来做到这一点。在堆遍历器中,使用所选对象创建一个对象集,然后单击标题中的“计算保留和深度大小”。深尺寸是您正在寻找的。保留大小直接显示在引用视图中,但它们仅显示如果要删除此对象将释放多少内存。