使用CSVParser解析多个大型csv文件的有效方法

时间:2018-08-19 13:16:51

标签: java

我正在遍历所有30个大文件,使用CSVParser解析每个文件,并将每一行转换为某个对象。我希望使用Java 8的并行流来并行加载它们。但是我收到Java堆空间错误。我尝试将内存增加到-Xmx1024m,但仍然出现堆空间错误。我应该如何有效地加载这些文件?

1 个答案:

答案 0 :(得分:0)

问题是您试图将太多的信息加载到内存中。无论采用哪种方式(并行执行,或一次执行一个文件),如果您想同时在内存中保留太多对象,将会耗尽内存。

这不是“效率”问题。应用程序的设计是一个更基本的问题。问自己,为什么需要同时将所有这些对象保存在内存中,以及是否可以避免这种情况或减少表示所需信息所需的空间。