gpt4 book ai didi

java - 如何将低级别对象的 'owner' 近似为内存泄漏

转载 作者:行者123 更新时间:2023-11-30 10:37:24 25 4
gpt4 key购买 nike

我的堆直方图告诉我我正在使用大量字符数组 ([C)、字节数组 ([B)、哈希节点和锁。

What tool will tell me who 'owns' these character arrays, byte arrays, hash nodes and locks? I'm expecting that 'ownership' is very ambiguous so what are some methods and tools used to approximate it?

到目前为止,我一直在从 char 数组开始关注 visualvm 中的反向指针,但这只让我对问题有一个定性的感觉。我想要数字。

我的一个想法是向后跟随 N(一些常量)指针并按路径分组,对#instances 和字节求和。例如,如果我要从字符数组向后跳转两个指针,我可能会发现 glutton 泄漏:

MB        path
1000 char[] <- String <- LeakingBusinessObject
1 char[] <- String <- OkayBusinessObject

最佳答案

JProfiler 中的堆遍历器有一个显示累积传入引用的 View 。下面您可以看到堆上所有 int[] 数组的传入引用链:

enter image description here

免责声明:我公司开发JProfiler

关于java - 如何将低级别对象的 'owner' 近似为内存泄漏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40158472/

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