【问题标题】:JProfiler memory views -> Object sizeJProfiler 内存视图 -> 对象大小
【发布时间】:2013-02-21 13:47:01
【问题描述】:

我的应用程序中有以下类:

class A {
  String someString;
  Locale someLocale;

  Map<Integer, B> someMap = new HashMap<Integer, B>();

  fillMap() {
    // some logic to fill the map with instances of B
  }
}

class B {
  // lots of filled collections
}

我正在使用 JProfiler 进行分析会话以确定一些内存问题。在“内存视图”选项卡上,具有聚合级别的类,例如,我有 2000 个 A 实例,总大小为 156KB。

我的问题是这个尺寸是什么意思?它只是对 A 对象的引用的大小,还是 A 的所有填充成员的大小(我特别想知道 Map)?我想这只是 A 参考尺寸,但想确保这一点。

【问题讨论】:

    标签: java profile jprofiler


    【解决方案1】:

    动态内存视图不显示保留大小,仅显示浅大小。

    要查看保留的大小,请转到堆遍历器,双击类以创建新的对象集。然后,点击标题中的“计算保留和深度大小”。

    这将为您提供整个类的保留大小,尽管单个实例的保留大小可能更有趣。为此,请转到“参考”视图或“最大对象”视图。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-09-17
      • 2022-11-29
      • 2017-04-06
      • 2011-11-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-03-08
      相关资源
      最近更新 更多