Java 内存:引用从何而来?

Posted

技术标签:

【中文标题】Java 内存:引用从何而来?【英文标题】:Java memory: where are the references coming from? 【发布时间】:2013-12-24 00:54:30 【问题描述】:

我有一个使用大量内存的 Java 程序。我使用 jmap -histo:live 来追踪正在使用所有内存的对象。只有几种类型占用了大部分内存,其中有 > 1M,但我不知道引用来自哪里来自

有什么方法可以从命令行告诉哪些类型的对象持有对这些对象的引用?

谢谢!

【问题讨论】:

你有递归吗? 不——反正没见过。 【参考方案1】:

您可以尝试查看Eclipse MAT,您可以进行堆转储,然后查看对象直方图并搜索引用您提到的“大”对象的对象。

【讨论】:

谢谢!我试试看。

以上是关于Java 内存:引用从何而来?的主要内容,如果未能解决你的问题,请参考以下文章

CSS 中的类名“英雄”从何而来?

javadoc 中的@uml.property 标签从何而来?

Linux系统启动过程的打印信息从何而来?

神经网络从何而来?

UnobservedTaskException - 任务从何而来

WAMP phpmyadmin 403 错误,不知从何而来?