gpt4 book ai didi

java - 能否以编程方式确定由于 java 引用而保留了多少内存?

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:12:24 27 4
gpt4 key购买 nike

我不是在问单个引用占用多少内存。我想知道垃圾收集的反面意义。

即给定引用 X,该引用不允许垃圾收集器释放多少内存。

有人能做到吗?

显然,如果可以,并且如果有一组引用(A B 和 C),那么很可能在保留的内存中会有一些重叠(即 A 和 B 可能都与相同的内存位有某种联系), 没关系。

重点是,尝试找出发生内存泄漏的原因。如果一个程序包含长期存在的对象,则可以通过编程找出这些对象中的哪些正在增长,然后冲洗并重复上述对象。

那有可能吗?

最佳答案

MemoryMeasurer 看起来很有趣,但我认为问题是询问您不知道的内存 - 即;内存意外膨胀,您正在寻找原因的线索。

VisualVM 有一个内存分析器,它会告诉您正在保留哪种对象,这是一个很好的起点。我不知道有什么工具可以扭转这种情况并告诉您哪些对象保留了它们。

关于java - 能否以编程方式确定由于 java 引用而保留了多少内存?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11919257/

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