Java 在预使用中加载非常大的文件

Java 在预使用中加载非常大的文件,java,database,data-visualization,prefuse,graphml,Java,Database,Data Visualization,Prefuse,Graphml,我有一个巨大的XML文件(测量值接近2GB),格式为GraphMLXML格式,用于社交图。通过创建新图形时 graph = new GraphMLReader().readGraph("socialgraph.xml"); 我得到一个“java.lang.OutOfMemoryError:java堆空间”异常 在预使用中是否有一种方法可以逐点读取文件。 如果没有,您能否向我推荐一些可视化工具包,它们可以通过XML或SQL数据库处理如此大的数据量。我建议尝试的第一件事是增加分配给JVM的

我有一个巨大的XML文件(测量值接近2GB),格式为GraphMLXML格式,用于社交图。通过创建新图形时

    graph = new GraphMLReader().readGraph("socialgraph.xml");
我得到一个“java.lang.OutOfMemoryError:java堆空间”异常 在预使用中是否有一种方法可以逐点读取文件。
如果没有,您能否向我推荐一些可视化工具包,它们可以通过XML或SQL数据库处理如此大的数据量。

我建议尝试的第一件事是增加分配给JVM的内存量。运行程序时添加此JVM参数:

-Xmx4g
有关更多信息,请参阅此相关问题:


如果您仍然有问题,并且想要尝试不同的可视化,我将首先尝试。

1024可能不够,因为文件是它的两倍。。。允许更多如果你的机器可以接受你是正确的,这只是一个例子,我会修改答案。文件的大小实际上并不表示图形中有多少实际节点和边。GraphML通常都很冗长。我想试试visone。它可以读取多达5000个节点的文件,但此后性能确实下降。我正在查看近一百万个节点。我想知道可视化一个1M节点图会带来什么好处?如果你想深入了解图表,你可能应该考虑使用像NeN4J,NETWorkX之类的东西,JUNG etc. Gephi使用OpenGL,甚至只是为了处理50K节点和500 K边。我希望用不同的特征值来计算具有高特征向量中心的节点。