我正在使用JSoup从我抓取的页面中解析HTML。长期使用该程序后,我不断看到内存增加。当有人在使用我的程序时提到内存不足异常时,我决定使用VisualVM查看问题出在哪里。 原来,在解析我抓取的HTML页面时实例化的JSoup对象/节点永远不会收集垃圾。因此,我解析的越多,堆中的结局就越多。
由于某种原因,JSoup nodes/keys/values
等根本没有收集到垃圾。我显然正在寻找解决方案,如何强制垃圾收集这些元素或释放已解析的文档。
谢谢。
我进行了一次测试,尽可能多地进行了解析,并且可以预期,我的RAM不断增加。我找不到与释放已解析的文档,节点或任何可能摆脱它们有关的内容。