首页 > 解决方案 > 未收集垃圾的 JSoup 对象导致内存不足异常

问题描述

我正在使用 JSoup 从我抓取的页面中解析 HTML。长期使用该程序后,我不断看到我的 RAM 增加。当有人使用我的程序也提到内存不足异常时,我决定使用 VisualVM 看看问题出在哪里。结果是在解析我抓取的 HTML 页面时实例化的 JSoup 对象/节点永远不会被垃圾收集。所以我解析的越多,堆中的结果就越多。

由于某种原因,JSoup nodes/keys/valuesetc 根本不会收集垃圾。显然,我正在寻找解决方案,如何强制垃圾收集这些元素或释放已解析的文档。

提前致谢。

我进行了尽可能多的解析测试,正如预期的那样,我的 RAM 不断增加。我找不到任何与释放已解析的文档、节点或任何可以摆脱它们的东西相关的东西。

标签: javaout-of-memoryjsoupheap-dump

解决方案


推荐阅读