DBLP解析器java OutOfMemoryError

时间:2015-05-01 16:49:07

标签: java parsing xml-parsing

我想将DBLP数据集解析为像这样的简单输出

Munir Cochinwala: C. Lee - K. C. Lee  
Hongli Deng: Linda Shapiro - Linda G. Shapiro    
William Retert: John Boyland - John Tang Boyland   
Ales Prazák: Josef V. Psutka - Josef Psutka
M. N. S. Swamy: C. Duanmu - C. J. Duanmu
Bonifacio Martín Galán: Maria del Carmen Arellano Pardo - Carmen Arellano
........

我已经尝试了他们的simple parser,但是还有点堆积空间。然后我将xerceslmp.jar包含在项目库中。此外,我使用 -Xmx2G 将内存增加到2G,但我仍然在线程" main" java.lang.OutOfMemoryError:超出了GC开销限制。我在Netbeans中创建了这个项目,并使用这些参数自定义了它的默认运行配置。

*编辑 这是我的java

dhcPlus-mbp:fresh-run macbook$ java -version
java version "1.7.0_71"
Java(TM) SE Runtime Environment (build 1.7.0_71-b14)
Java HotSpot(TM) 64-Bit Server VM (build 24.71-b01, mixed mode)

任何帮助将不胜感激。谢谢。

1 个答案:

答案 0 :(得分:0)

我最近一直在研究一个涉及DBLP的项目,我遇到了同样的问题。 什么对我有用:

javac Parser.java java(-mx900M)-DentityExpansionLimit = 1000000 Parser dblp.xml> FILENAME.TXT

我建议省略(-mx900M),这是对你的记忆的一个优化,但只有你有java 1.5(我不认为)才能正确。这只是因为这个人使用了一些石器时代的xml解析器。

我建议您尝试几种不同版本的Java。解析器是用Java 1.6编写的,这就是我使用的版本。