gpt4 book ai didi

java - XOM 解析器堆内存不足

转载 作者:行者123 更新时间:2023-12-02 06:16:41 24 4
gpt4 key购买 nike

我正在使用 XOM 库解析文件。 Java 应用程序运行良好,但在解析超过 200 MB 的大文件时遇到内存问题。

当我使用下面的代码构建文件时,我面临堆大小内存

        Builder profileFileBuilder = new Builder(profileFileXMLReader);
Document profileFileDocument = profileFileBuilder.build(profileFile);

构建该大小文件的替代方法是什么?我尝试为 JVM 分配更多内存,但它不接受超过 1024 MB

提前谢谢

最佳答案

您可以通过扩展NodeFactory来使用XOM作为流解析器。这样它不会将 XML 保留在内存中,而是对其进行处理然后忘记它。这对于在容器元素中包含许多较小节点的 XML 非常有效。例如,XML 如下:

<records>  <record><a_little_xml/></record>  <record><a_little_xml/></record>  <record><a_little_xml/></record>  <record><a_little_xml/></record>  <record><a_little_xml/></record></records>

XOM 文档中有一个关于如何扩展 NodeFactory 的示例:http://www.xom.nu/tutorial.xhtml#Lister

您基本上解析内容(在您感兴趣的文档中的任何级别),然后不将其添加到内存树中:http://www.xom.nu/tutorial.xhtml#d0e1424

关于java - XOM 解析器堆内存不足,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21384375/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com