Java错误“;“主要”;java.lang.OutOfMemoryError:java堆空间

Java错误“;“主要”;java.lang.OutOfMemoryError:java堆空间,java,edit-distance,Java,Edit Distance,因此,我用java编写了以下主要函数来计算1000个随机生成的长度为10、20、50和100的对的EditDistance。对于长度为10 n 20,它运行正常,但是对于长度为50,它给出了这个错误。线程“main”java.lang.OutOfMemoryError:java堆空间中的“异常”。我不知道该怎么办。任何帮助都将不胜感激 for (j=0; j< numoftimes; j++) { for (int i = 0; i < len2; i++)

因此,我用java编写了以下主要函数来计算1000个随机生成的长度为10、20、50和100的对的EditDistance。对于长度为10 n 20,它运行正常,但是对于长度为50,它给出了这个错误。线程“main”java.lang.OutOfMemoryError:java堆空间中的“异常”。我不知道该怎么办。任何帮助都将不胜感激

for (j=0; j< numoftimes; j++) {
            for (int i = 0; i < len2; i++) {
                s5r += (char) ( 'a' + r.nextInt(26));
                s6r += (char) ( 'a' + r.nextInt(26));
            }
            starttime2 = System.nanoTime();
            int distance2 = editDistance(s5r,s6r); 
            endtime2 = System.nanoTime() - starttime2; 
            }

            avg_CPUtime2 = (endtime2/numoftimes);
            System.out.println("Average CPU time in nanoseconds for 1000 
               pair of random words of length "+len2+" : "+avg_CPUtime2);


            int len3 = 100;
            long starttime3 = 0;
            long endtime3 = 0;
            long avg_CPUtime3 = 0;
            String s7r = "";
            String s8r = "";
            for (j=0; j< numoftimes; j++) {
            for (int i = 0; i < len3; i++) {
                s7r += (char) ( 'a' + r.nextInt(26));
                s8r += (char) ( 'a' + r.nextInt(26));
            }
            starttime3 = System.nanoTime();
            int distance3 = editDistance(s7r,s8r); 
            endtime3 = System.nanoTime() - starttime3; 
            }

            avg_CPUtime3 = (endtime3/numoftimes);
            System.out.println("Average CPU time in nanoseconds for 1000 
              pair of random words of length "+len3+" : "+avg_CPUtime3);

您必须增加java堆空间

在Run->Run Configuration中,找到您正在运行的类的名称,选择它,单击Arguments选项卡,然后添加:

-Xms512M-Xmx1024M


对于VM参数部分,您必须增加java堆空间

在Run->Run Configuration中,找到您正在运行的类的名称,选择它,单击Arguments选项卡,然后添加:

-Xms512M-Xmx1024M


到VM Arguments部分

有一个重复的参数,它已增加到-Xmx4000m。我不知道这是对还是错。但它仍然不起作用。附言:我是java新手,Eclipse会让你的电脑速度变慢。这是我们正在讨论的内存空间,请在阅读之前阅读。当然。我要去读书。谢谢你,欢迎。如果答案对你有用,请确保排除它。这是一个重复的答案。我已经增加到-Xmx4000m。我不知道这是对还是错。但它仍然不起作用。附言:我是java新手,Eclipse会让你的电脑速度变慢。这是我们正在讨论的内存空间,请在阅读之前阅读。当然。我要去读书。thankx Btwy如果答案对您有效,请务必排除它。我的猜测是,
editDistance
的实现很差,但是如果没有看到该方法背后的代码,就很难知道如何帮助您。我的猜测是,
editDistance
的实现很差,但是没有看到该方法背后的代码,很难知道如何帮助你。
Average CPU time in nanoseconds for 1000 pair of random words of length 10 : 
 674163
  Average CPU time in nanoseconds for 1000 pair of random words of length 20 
     : 3128792
   Exception in thread "main" java.lang.OutOfMemoryError: Java heap space
 at algorithmDesign.Sequences.editDistance(Sequences.java:12)
 at algorithmDesign.Sequences.main(Sequences.java:116)