【发布时间】:2011-02-24 02:06:51
【问题描述】:
我遇到内存不足错误:
线程“主”java.lang.OutOfMemoryError 中的内存异常:Java 堆空间 在 org.apache.xerces.dom.CoreDocumentImpl.createElement(CoreDocumentImpl.java:564)我有一个独立的 Java 程序,它从 DB 中获取数据并使用 DOM 创建一个 XML 文件。如果获取的数据很大,我会收到上述错误,在我的情况下,它是 > 1,000,000 条记录。
在从 unix 调用 Java 类时,我已将 2GB 定义为堆大小。
我用 JAXB 进行了尝试,但仍然没有任何显着的改进。
关于如何改进代码的任何建议。
【问题讨论】:
-
为什么会出现内存泄漏?如果您使用 DOM,您将一次将整个文档加载到内存中。如果文档很大,您的程序将使用大量内存,您可能会得到
OutOfMemoryError。该错误并不自动意味着存在内存泄漏。
标签: java dom jaxb out-of-memory