java - java中的内存泄漏

标签 java memory-leaks jprofiler finalize

我使用 jprofiler 来检测客户端代码的内存泄漏。启动时,java.util.hashmap$entry 使用的内存急剧增加至 1700KB。之后也减少了。堆转储显示 java.lang.ref.finalizer 正在使用最大内存。它得出什么结论?当我尝试在源代码中找到 Finalize() 时,它不在那里。 HTML 文件中的 Finalize() 是这样使用的。 finalize , 这是什么意思?原因是finalize()还是引用hashmap$entry导致了泄漏?

最佳答案

如果你想查找内存泄漏,你应该查看一次 Full GC 后使用了多少内存,如果有大量可终结引用,则应查看两次,否则你可能会看到大量临时对象,而这些对象并没有发生。事情。

我怀疑您所看到的两种数据类型都不是问题,尤其是如果它们的使用量定期下降的话。寻找只会上升的消费。

关于java - java中的内存泄漏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13152273/

相关文章:

java - 应用程序引擎 P12 AccessControlException

java - 调用 ObjectInputStream.readObject();从线程 run() 调用时,Java 中的方法抛出 ClassNotFoundException;

javascript - Chrome 下的网络应用程序中存在巨大的节点泄漏 - 开发人员工具未报告原因

java - 在 Java 中造成 native 内存泄漏

c++ - 在 C++11 中释放动态分配的 uv_timer_t (libuv) 实例

java - 当我在 Netbeans 中运行我的应用程序时卸载 JPfofiler(从 Ubuntu)后,它显示错误

java - JTable:单元格中自定义面板中的按钮

java - 如何在Java中解析具有混合节点和文本的XML?

java - 我怎样才能弄清楚未释放的对象持有什么?

performance - 在 IntelliJ 上运行 JProfiler for grails