【发布时间】:2011-06-02 09:41:04
【问题描述】:
我创建了一个大小约为 3000 的自定义类对象的 ArrayList (Java)。 但是当我运行我的代码时,它会收到错误“堆空间错误”。
我想在运行时将数千个对象保留在 ArrayList 中,而不会超出堆空间。
如何避免堆空间错误?
【问题讨论】:
-
在启动虚拟机时通过指定 -Xmx 参数来增加你的堆。
标签: java arraylist heap-memory
我创建了一个大小约为 3000 的自定义类对象的 ArrayList (Java)。 但是当我运行我的代码时,它会收到错误“堆空间错误”。
我想在运行时将数千个对象保留在 ArrayList 中,而不会超出堆空间。
如何避免堆空间错误?
【问题讨论】:
标签: java arraylist heap-memory
看来您需要为程序传递更多内存。
尝试像这样运行它:
java -Xmx256M MyApp
-Xmx 设置 Java 的最大堆大小。后面加上 M 表示兆字节,后面加上 G 表示千兆字节。因此,如果您有大量内存,则始终可以这样做:
java -Xmx1g MyApp
【讨论】:
使用-Xmx Java 系统属性增加 Java 堆大小。例如,将其指定为
java -Xmx1024m Main
【讨论】: