首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Java Exception >

读取文件报java.lang.OutOfMemoryError

2014-01-26 
读取文件报java.lang.OutOfMemoryError:用Eclipse编写了一个程序,涉及到在文本文件中读取数据进行处理,数据

读取文件报java.lang.OutOfMemoryError:

用Eclipse编写了一个程序,涉及到在文本文件中读取数据进行处理,数据量一超过就会提示java.lang.OutOfMemoryError,减少数据量就没问题,我已经扩展了2G内存,请问如何让我的程序能够使用更多的内存去执行?我试过设置eclipse的eclipse.ini中的
-vmargs
-Xms512m
-Xmx1024m
这样改了还是不行。。请问这个问题怎么解决


------解决方法--------------------------------------------------------
eclipse.ini设置的是eclipse占用的内存,不是你应用程序

你可以在每个应用程序的启动项里设置。就是run小三角旁边的下拉箭头,然后点run...就可以设置了
------解决方法--------------------------------------------------------
增大内存,及时关闭流,使用buffer读写
------解决方法--------------------------------------------------------
兄弟,你的这些close请放到finally块里 好吗?

------解决方法--------------------------------------------------------
所有的涉及到资源的释放都要放到finally里(如,释放链接,文件流的关闭)
你给的两段代码里所有的reader.close()都要这样修改
还有,你使用jml操作了excel,那些workbook最终close了没?
------解决方法--------------------------------------------------------
首先,你得确认一下你的这两个参数是不是真正的改过来了,确认方法是在Doc环境下用命令行,具体的命令随便baidu或Google一下就可以了。因为你在一个地方改了这个参数,并不能保证JVM获得的就是这个值,要保证你使用的JVM是使用的这个值。
如果你确认了,这个参数确实是你设置的值,那么你就得检查你的代码了,据我的经验1G的内存能够存放的数据量,一般是很难达到的。故你经常溢出,很可能就是你代码写的有问题。

        

热点排行