我正在尝试测试不同的解析器,当我尝试解析 70 MB 的 xml 文件时,DOM 出现问题。错误是 java.lang.OutOfMemoryError 我想我有不错的电脑,所以我不确定是否有问题。
另一个问题。我正在使用秒表来捕捉解析时间,但我想我把 stopwatch.stop 放在了错误的地方。我想应该是在
Document document = builder.parse("file.xml");
我把它放在打印出所有节点的 for 循环之后
谢谢
最佳答案
使用默认堆大小和解析大型 XML 文档时的常见问题。您将需要增加 JVM 的堆大小。执行程序时,将参数“-Xmx1024m”(或 -Xmx512m 或您认为需要的任何参数,堆将只占用指定点所需的内存)到 jvm 命令。
示例:java -Xmx1024m -jar myprogram.jar
这也可以在各种 IDE 的运行时属性中设置。在 Eclipse 中,它是应用程序运行配置的“VM 参数”部分。
关于java.lang.OutOfMemoryError 与 DOM,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16325459/