java - 未收集垃圾的 JSoup 对象导致内存不足异常
问题描述
我正在使用 JSoup 从我抓取的页面中解析 HTML。长期使用该程序后,我不断看到我的 RAM 增加。当有人使用我的程序也提到内存不足异常时,我决定使用 VisualVM 看看问题出在哪里。结果是在解析我抓取的 HTML 页面时实例化的 JSoup 对象/节点永远不会被垃圾收集。所以我解析的越多,堆中的结果就越多。
由于某种原因,JSoup nodes/keys/values
etc 根本不会收集垃圾。显然,我正在寻找解决方案,如何强制垃圾收集这些元素或释放已解析的文档。
提前致谢。
我进行了尽可能多的解析测试,正如预期的那样,我的 RAM 不断增加。我找不到任何与释放已解析的文档、节点或任何可以摆脱它们的东西相关的东西。
解决方案
推荐阅读
- javascript - 在递归算法的 return 语句期间,我的变量如何改变值?
- mysql - 使用 .zip 和 .sql 将 wordpress 站点恢复到 AWS
- ios - Swiftt 徽章通知在 iOS10 之后贬值
- python - 如何结合两个 pd 数据框,根据分数重新排名并返回整行以获得最高排名?
- linkedin - LinkedIn Api v2 - 获取公司帖子
- mysql - Sum Distinct Join with where 条件
- java - 使用装饰器模式格式化表格输出
- ansible - Ansible:忽略错误并移动到下一个节点
- laravel - Laravel PDO 转储奇怪的错误
- reactjs - React / Apollo 客户端:尝试在 useEffect 挂钩中使用 LazyQuery