Java堆大小内存

时间:2013-12-12 06:02:35

标签: java out-of-memory

我有一个Java应用程序,它会导致Java堆大小内存错误。我的应用程序是将文件转换为.csv格式并将其加载到DB中。当文件内容较少时,我的应用程序运行良好。但是,当我有成千上万的记录时,我正在获得堆大小的内存。使用InputStream,OutputStream,BufferedWriter等类时,会发生内存泄漏的所有可能性,请帮我解决此堆大小内存错误。我坚持了一个星期。下面给出的是我得到的堆大小错误

  

线程“main”中的异常java.lang.OutOfMemoryError:Java堆空间

4 个答案:

答案 0 :(得分:4)

因此,您将整个文件读入内存,然后将其刷新到DB。

而不是这样做,你需要将文件块读入内存并将它们刷新到DB中。

如果没有代码,就无法给出更详细的答案。

答案 1 :(得分:1)

运行文件时,需要在命令行中添加-Xmx ##。

java -Xmx4G

会为你提供一个4 Gb可用的JVM。

编辑:如果可能的话,你应该像@Oleg一样加载一个位。

答案 2 :(得分:0)

我建议你增加堆大小,你可以在命令行中使用java -Xmx2048m

现在你将拥有高达2GB的内存。

点击more

的此链接

答案 3 :(得分:0)

您可以增加堆大小。

如果你可以分享你的代码,我可以告诉你如何降低资源利用率