java – ArrayList的限制

我正在尝试读取文本文件并将每一行存储到ArrayList中

但是,文本文件太长(大约2,000,000)行和错误: java.lang.OutOfMemoryError发生.

我如何知道arraylist是否已满,然后创建另一个arraylist来自动存储剩余的数据?

抱歉我的英语不好.

谢谢你的帮助.

最佳答案 200万行远远超出 Java Collection的最大大小(INTEGER.MAX_VALUE或20亿个索引).

您更有可能有堆空间outOfMemory错误.你也可以

>增加JVM最大堆内存分配.

java -Xmx4g

4g = 4GB.

The default maximum heap size is half of the physical memory up to a physical memory size of 192 megabytes and otherwise one fourth of the physical memory up to a physical memory size of 1 gigabyte.

http://www.oracle.com/technetwork/java/javase/6u18-142093.html

>正如konsolas建议的那样,逐行读取并将其存储到文件中并刷新变量.

希望能帮助到你!

点赞