int错误:线程中出现异常;“主要”;java.lang.OutOfMemoryError:java堆空间
当我运行这段代码时,我得到以下错误:“int error:Exception in thread”main“java.lang.OutOfMemoryError:java堆空间” 有人能向我解释一下为什么会发生这种情况吗int错误:线程中出现异常;“主要”;java.lang.OutOfMemoryError:java堆空间,java,arrays,exception,Java,Arrays,Exception,当我运行这段代码时,我得到以下错误:“int error:Exception in thread”main“java.lang.OutOfMemoryError:java堆空间” 有人能向我解释一下为什么会发生这种情况吗 import java.lang.*; import java.util.*; public class Eleven { static void name(int n) { int f1 = 0, f2 = 1, i; int
import java.lang.*;
import java.util.*;
public class Eleven
{
static void name(int n)
{
int f1 = 0, f2 = 1, i;
int next;
String []arr= new String[1000000000];
if (n < 1)
return;
for (i = 1; i <= n+1; i++)
{
next = f1 + f2;
arr[next]="O";
f1 = f2;
f2 = next;
}
for (i = 1; i <= n+1; i++)
{
if(arr[i]!="O")
arr[i]="o";
}
for (i = 1; i <= n+1; i++)
{
System.out.print(arr[i]);
}
}
public static void main(String[] args)
{
int n;
System.out.println("enter the lenth of name");
Scanner sc=new Scanner(System.in);
n=sc.nextInt();
name(n);
}
}
import java.lang.*;
导入java.util.*;
公共十一班
{
静态无效名称(int n)
{
int f1=0,f2=1,i;
int-next;
字符串[]arr=新字符串[100000000];
if(n<1)
返回;
对于(i=1;i首先,确保您使用的是64位JVM
其次,使用以下参数向JVM添加内存:
-Xms512m-Xmx4g问题在哪里?真的吗?新字符串[100000000]
?空数组只需要4GB。你希望发生什么?String[]arr=new String[100000000];
你真的需要这么大的数组吗?arr[10000]只是为了测试我用的arr[1000]