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

时间:2013-04-09 06:04:22

标签: java jprofiler

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

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

我想弄清楚类X的总内存使用量,包括其所有属性对象使用的内存。有关如何使用jProfile或其他工具/代码实现此目的的任何信息?

提前致谢!

2 个答案:

答案 0 :(得分:2)

看看这个http://www.javamex.com/tutorials/memory/object_memory_usage.shtml。它包含有关如何计算Java对象内存使用情况的信息以及对计算它的工具的引用。

答案 1 :(得分:2)

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

http://www.eclipse.org/mat/

它不仅会向您展示它自己使用的内存,还会显示由于其引用而保留多少内存。