我正在做一个小任务,我需要在一个数组中存储大约 10 亿个整数。但是,我遇到了堆空间问题。你能帮我解决这个问题吗?
机器详细信息:Core 2 Duo 处理器,4 GB RAM。我什至尝试过 -Xmx 3072m 。有什么解决方法吗? 同样的事情在 C++ 中也有效,所以绝对应该有一种方法可以将这么多的数字存储在内存中。
下面是我得到的代码和异常:
public class test {
private static int C[] = new int[10000*10000];
public static void main(String[] args) {
System.out.println(java.lang.Runtime.getRuntime().maxMemory());
}
}
异常:线程“主”java.lang.OutOfMemoryError 中的异常:测试时的 Java 堆空间。(test.java:3)