gpt4 book ai didi

java - JProfiler 内存 View -> 对象大小

转载 作者:搜寻专家 更新时间:2023-11-01 03:08:18 25 4
gpt4 key购买 nike

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

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 进行性能分析,以确定一些内存问题。在内存 View 选项卡上,使用聚合级别类,我有 2000 个 A 实例,总大小为 156KB。

我的问题是这个尺寸意味着什么?它只是对 A 对象的引用的大小还是 A 的所有填充成员的大小(我特别想知道 Map)?我猜它在某种程度上只是 A 引用尺寸,但我想确定这一点。

最佳答案

动态内存 View 不显示保留大小,仅显示浅表大小。

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

这会为您提供整个类的保留大小,尽管单个实例的保留大小可能更有趣。为此,转到“引用” View 或“最大对象” View 。

关于java - JProfiler 内存 View -> 对象大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15003868/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com