【发布时间】:2015-07-26 20:43:47
【问题描述】:
我正在尝试测试需要 1,000,000,000 个数组输入的算法。
Scanner scanner = new Scanner(new File("999999998.txt"));
int[] tall = new int[1000000000];
int i = 0;
while (scanner.hasNextInt()) {
tall[i++] = scanner.nextInt();
}
抛出此异常:
Exception in thread "main" java.lang.OutOfMemoryError: Java heap space
【问题讨论】:
-
您真的需要一次将所有数字都保存在内存中吗?那是 4 GB...
-
你的堆小于 4GB(你的数组大小)
-
是的,我需要用大输入测试我的算法,以便与 else 进行比较。我怎样才能增加堆?
-
指定你的算法,这将极大地帮助提供超越“如果这个,做A,否则如果那个,做B,......”的更有针对性的解决方案。
标签: java arrays heap-memory