Eclipse - java.lang.OutOfMemoryError:Javaヒープスペース

Eclipse IDEでは、あなたのプログラムが次のように多くのメモリを消費している(大きなデータをロードしている)

  List<Domain> list = domainBo.findAllDomain(100000);

  for(Domain domain : list){
    process(domain.getDomainName());
  }

`java.lang.OutOfMemoryError:Java heap space`を簡単に押すことができます:

Exception in thread "main" java.lang.OutOfMemoryError: Java heap space
    at java.util.HashMap.<init>(HashMap.java:209)
    at java.util.LinkedHashMap.<init>(LinkedHashMap.java:181)

1.ソリューション - VM引数

Eclipseのメニューで Run→ Run Configurations …​`をクリックし、実行するJavaアプリケーションを選択し、 Arguments`タブをクリックし、VM引数を次のオプションで更新します

-Xms<size> - Set initial Java heap size
-Xmx<size> - Set maximum Java heap size

たとえば、 -Xms512M -Xmx1024M

eclipse-out-of-memory、width = 580、height = 480

2.間違い - eclipse.ini

`eclipse.ini`のメモリ設定は、実行したいプログラムではなく、Eclipse IDEにのみ割り当てられます。非常によくある間違いは、 `eclipse.ini`のヒープサイズを更新し、それがメモリー上の問題を解決することを期待しています。

しかし、Eclipse IDEが何の理由もなく常にクラッシュした場合は、 `eclipse.ini`でヒープサイズとパーマネントを増やすことができます。

/Users/mkyong/Downloads/eclipse/Eclipse.app/Contents/MacOS/eclipse.ini

    -startu
    openFile
    -showsplash
       //...
    -XX:MaxPermSize=512m
    -Xms512m
    -Xmx1024m
       //...
    -Xdock:icon=../Resources/Eclipse.icns
    -XstartOnFirstThread

__P.S eclipse.iniは、Eclipseインストール・フォルダーにあります。

参考文献

  1. http://wiki.eclipse.org/FAQ How do I increase the permgen size available to Eclipse%3F[FAQ

Eclipseに利用できるpermgenサイズを増やすにはどうすればよいですか?]。 link://java/find-out-your-java-heap-memory-size/[あなたのJavaを見つける

ヒープメモリサイズ]。リンク://eclipse/eclipse-tomcat-java-lang-outofmemoryerror-java-heap-space/[Eclipse

Tomcat - Java.Lang.OutOfMemoryError:Javaヒープスペース]