如何分析.hprof文件中的堆数据并使用它来减少内存泄漏?

Anj*_*waj 6 java memory-leaks out-of-memory heap-dump

最近,我java.lang.OutOfMemoryError在运行应用程序时遇到异常.

在一个这样的实例中,我能够使用获取堆转储jvisualvm.

我能够.hprof使用NetBeans 8.1IDE 打开从堆转储获取的堆转储文件,但我不知道如何分析数据转储.我想知道如何读取转储文件并采取纠正措施以从应用程序的角度减少内存不足异常.

编辑:我已附加从堆转储获取的组件报告

这是泄漏嫌疑人的报告

Nic*_*tto 10

有许多方法可以找到内存泄漏的根本原因,例如使用JProfiler等分析器,只需应用此精彩视频中描述的内容即可.您还可以看一下Eclipse Memory Analyzer,也称为MAT,它将能够分析您的堆转储并提出内存泄漏的潜在原因,您可以在此视频中看到(您可以在此处找到有关可疑报告的 更多信息) .另一种方法是使用Java Flight Recorder来应用这种方法.或者使用本视频中描述的方法使用JVisualVM.