2017-10-28 18 views
0

これは、Javaで次のmain関数を書いて、1000個のランダムに生成された10,20,50,100ペアの編集距離を計算します。長さは10 n 20ですが、長さ50ではこのエラーが発生しています。 msgstr "スレッド内の例外" main "java.lang.OutOfMemoryError:Java heap space"。私は何をすべきか分かりません。どんな助けもありがとう。Javaエラー "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ヒープ領域

を増やし、それを選択する必要があり、この

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) 
+0

私の推測では、 'editDistance'はあまり実装されていませんが、そのメソッドの背後にあるコードを見ることなく、あなたを助ける方法は分かりません。 – PaSTE

答えて

0

です引数]タブをクリックし、次に追加:

-Xms512M -Xmx1024M

をVM Aへrgumentsセクション

+0

既に重複があります。 –

+0

私は-Xmx4000mに憤慨しました。これが正しいかどうかわかりません。それでも動作していません。 P.S:私はJavaとEclipseの初心者です –

+0

それはあなたのコンピュータの速度が遅くなります。これは私たちが話しているメモリ空間です。 – sasuri

関連する問題