我使用了sun 网站的 Out Of Memory 帮助。它被引用为
内存不足:请求的数组大小超过 VM 限制
这表明应用程序试图分配一个大于堆大小的数组。例如,如果应用程序尝试分配一个 512MB 的数组,但最大堆大小为 256MB,则会抛出此错误。在大多数情况下,问题可能是堆大小太小,或者错误导致应用程序尝试创建一个大小被计算为错误地大的数组。
我试图通过
import java.util.ArrayList;
import java.util.List;
public class JavaTest {
public static void main(String[] args){
long[] ll = new long[64*1024*1024];
}
}
在我的机器上
javac *.java;java -Xmx256m JavaTest
但是上面的生产线正在生产
线程“主”java.lang.OutOfMemoryError 中的异常:Java 堆空间 在 JavaTest.main(JavaTest.java:7)
我错过了什么?
更新: 我的 java 版本是
$java -版本 java版本“1.6.0_15” Java(TM) SE 运行时环境 (build 1.6.0_15-b03) Java HotSpot(TM) 服务器虚拟机(build 14.1-b02,混合模式)