【发布时间】:2012-05-15 05:03:59
【问题描述】:
我正在解析 transxchange 数据,其中包含一些非常大的文件,接近 800 MB。当我尝试解析这些文件时,出现以下错误。
Exception in thread "main" java.lang.OutOfMemoryError: Java heap space
=======================================================================
at java.util.ArrayList.<init>(Unknown Source)
at java.util.ArrayList.<init>(Unknown Source)
at JourneyPatternSections.<init>(JourneyPatternSections.java:21)
at ReadBusData.startElement(ReadBusData.java:131)
at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.startElement(Unknown Source)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanStartElement(Unknown Source)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(Unknown Source)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(Unknown Source)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source)
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown Source)
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown Source)
at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(Unknown Source)
at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(Unknown Source)
at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(Unknown Source)
at javax.xml.parsers.SAXParser.parse(Unknown Source)
at javax.xml.parsers.SAXParser.parse(Unknown Source)
at ReadBusData.parseDocument(ReadBusData.java:51)
at ReadBusData.<init>(ReadBusData.java:41)
at ReadBusData.main(ReadBusData.java:218).
我正在关注this教程。
谁能帮帮我。
【问题讨论】:
-
这里的问题是需要多少时间。
-
你能指导我吗,我得到 java.lang.OutOfMemoryError: Java heap space。
-
你能打印你用来启动这个应用程序的命令行吗?我觉得问题是由于堆大小不足。试试 Xmx2g 并告诉我们发生了什么
-
对于剩余的文件,它花费更少的时间并成功解析,只有两个文件有 100MB 和 800MB 的错误。