内存增加java堆大小,在windows中使用eclipse
我正在编写一个java程序,在windows中使用eclipse生成前5000万个素数(eratosthenes筛)
package first;
import java.util.Arrays;
public class primegen {
private static int[] generatePrimes(int max) {
boolean[] isComposite = new boolean[max + 1];
for (int i = 2; i * i <= max; i++) {
if (!isComposite [i]) {
for (int j = i; i * j <= max; j++) {
isComposite [i*j] = true;
}
}
}
int numPrimes = 0;
for (int i = 2; i <= max; i++) {
if (!isComposite [i]) numPrimes++;
}
int [] primes = new int [numPrimes];
int index = 0;
for (int i = 2; i <= max; i++) {
if (!isComposite [i]) primes [index++] = i;
}
return primes;
}
//The following snippet of code is to check the heapsize
public static void main(String[] args) {
long heapsize=Runtime.getRuntime().totalMemory();
System.out.println("heapsize is::"+heapsize);
System.out.println(generatePrimes(982451653)[4]);
}
}
堆空间的输出为:
heapsize is::66584576
它给出了以下错误:
Exception in thread "main" java.lang.OutOfMemoryError: Java heap space
at first.primegen.generatePrimes(primegen.java:7)
at first.primegen.main(primegen.java:30)
我发现JVM中有一些-xmx命令。 我应该在哪里输入该命令,以及应该使用该命令设置的适当堆大小是多少
我的机器上有4 GB内存(64位Windows 7)
# 1 楼答案
打开
Eclipse
,Window -> Preferences
搜索
Installed Jre
,必须指向您JDK
编辑相同内容,并按如下或根据您的要求输入
Default VM arguments
下面是psudo代码供您开始使用