int error:线程“main”中的异常java.lang.OutOfMemoryError:Java堆空间

时间:2018-01-29 16:43:08

标签: java arrays exception

当我运行此代码时,我收到以下错误:“int error: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 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);
    }
}

1 个答案:

答案 0 :(得分:0)

首先,请确保您使用的是64位JVM。

其次,使用以下参数向JVM添加内存: -Xms512m -Xmx4g