我正在尝试浏览网址列表并分析其主页的内容。为此,我有一个没有 reducer 的 Hadoop 映射器,它获取 url 并将它们发送到解析器类进行解析。
解析器使用Jericho 的 html 解析器的流式源代码类来读取页面的内容。它实际上使用缓冲阅读器接收所述页面的内容。我让它调用流式源和缓冲读取器类的 close 方法,之后我的映射器调用解析器的 toString 方法并继续到下一个 url。
快速的内存分析表明有一堆 finalize 对象,垃圾收集器似乎无法跟上。我听说过关于可靠性的坏消息,System.gc()
所以我想知道是否有另一种更清洁的方法来摆脱这个巨大的 finalize 对象堆。