1

こんにちは、アプリケーションを部分的にテストしていますが、ヒープ領域に問題があります。ここにサンプルコードがあります

public class Test {


Test()
{
    byte[] b = new byte[744678306];
}


public static void main(String[] args) {
    // TODO Auto-generated method stub
    Test t=new Test();
}

}

エラー

Exception in thread "main" java.lang.OutOfMemoryError: Java heap space

これがEclipseのini構成です

-startup
plugins/org.eclipse.equinox.launcher_1.3.0.v20130327-1440.jar
--launcher.library
plugins/org.eclipse.equinox.launcher.gtk.linux.x86_1.1.200.v20130807-1835
-product
org.eclipse.epp.package.jee.product
--launcher.defaultAction
openFile
-showsplash
org.eclipse.platform
--launcher.XXMaxPermSize
256m
--launcher.defaultAction
openFile
--launcher.appendVmargs
-vmargs
-Dosgi.requiredJavaVersion=1.6
-XX:MaxPermSize=256m
-Xms800m
-Xmx999m

作業環境:vBoxのubuntu 12。

よろしくお願いします。

4

4 に答える 4

4

約 750MB のスペースを要求していますが、プログラムは最大許容量 256 で開始されます。

これを見てください

対応する実行構成の VM 引数のリストに -Xmx2048M (2048 MB の場合、その数を変更できます) を追加するだけです。

于 2013-11-06T19:22:03.930 に答える
2

貼り付けた Eclipse スタートアップ コンフィギュレーションは、問題とは関係ありません。Eclipse は独自の JVM でコードを実行しません。Eclipse 内で明示的に指定した引数を使用して別の JVM を開始します。

アプリケーションを 1 回実行すると、実行構成エントリが作成されます。そのエントリ (Run -> Configurations...) に移動し、VM 引数の下で、より多くのメモリを指定します-Xmx。デフォルトでは、Java 7 はmx1 GB または合計 RAM の 4 分の 1 のいずれか小さい方に設定されます。

于 2013-11-06T19:29:58.707 に答える