Eclipse - java.lang.OutOfMemoryError: espace de mémoire Java

Eclipse - java.lang.OutOfMemoryError: espace de tas Java

Dans Eclipse IDE, si votre programme consomme beaucoup de mémoire (chargement de données volumineuses) comme ceci:

  List list = domainBo.findAllDomain(100000);

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

Il peut facilement atteindrejava.lang.OutOfMemoryError: Java heap space:

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

1. Solution - Arguments VM

Dans le menu Eclipse, cliquez surRun -> Run Configurations.., sélectionnez l'application Java que vous souhaitez exécuter, cliquez sur l'ongletArguments, mettez à jour les arguments de la VM avec les options suivantes

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

Par exemple,-Xms512M -Xmx1024M

eclipse-out-of-memory

2. Erreur - eclipse.ini

Les paramètres de mémoire danseclipse.ini sont alloués à Eclipse IDE uniquement, et non au programme que vous souhaitez exécuter. Une erreur très courante est la mise à jour de la taille du tas eneclipse.ini et s'attend à ce qu'elle résout le problème de mémoire insuffisante ci-dessus.

Note
L'application Java, les scripts de construction Ant / Maven ou les cas de test unitaires sont exécutés en tant qu'outil externe d'Eclipse et n'héritent pas des paramètres de machine virtuelle dans eclipse.ini.

Mais, si votre Eclipse IDE est toujours en panne sans raison, vous pouvez essayer d'augmenter la taille du tas et la perm gen eneclipse.ini.

/Users/example/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 is located in the Eclipse installation folder.