web-dev-qa-db-fra.com

Comment augmenter la taille du tas Java dans les netbeans?

J'essaye de construire un trie Lexicon de près de 110000 mots en Java en netbeans. Mon code fonctionne bien mais il donne une exception comme suit:

   Exception in thread "main" Java.lang.OutOfMemoryError: Java heap space
at Java.util.Arrays.copyOfRange(Arrays.Java:3209)
at Java.lang.String.<init>(String.Java:215)
at Java.nio.HeapCharBuffer.toString(HeapCharBuffer.Java:542)
at Java.nio.CharBuffer.toString(CharBuffer.Java:1157)
at Java.util.regex.Matcher.toMatchResult(Matcher.Java:232)
at Java.util.Scanner.match(Scanner.Java:1270)
at Java.util.Scanner.nextLine(Scanner.Java:1517)
at lexiconbuild.model.Lexicon.<init>(Lexicon.Java:29)
at lexiconbuild.model.LexiconBuild.main(LexiconBuild.Java:17)
Java Result: 1

Je me demandais si quelqu'un pouvait m'aider à augmenter l'espace de tas Java dans les netbeans.

30
Noopur Phalak

Vous pouvez le définir dans NetBeans dans les propriétés du projet -> Exécuter -> VM

  1. Faites un clic droit sur votre projet "Propriétés"
  2. Sélectionnez la catégorie "Exécuter".
  3. Entrez vos arguments (- Xmx512m) dans la zone de texte "Options VM".

Exemple: la mise de -Xmx512m dans la zone de texte "Options VM" donne une taille de segment maximale de 512 Mo à votre programme Java.

50
Sarath Kumar Sivan

si vous voulez le changer pour netbeans lui-même, vous pouvez le changer à partir de ce fichier:

netbeans.conf 

vous le trouverez dans le dossier netbeans sous/etc

et il y a deux paramètres pour le tas

Xms - la taille initiale du tas.

Xmx - max Java taille du tas

en utilisant la valeur par défaut, il vous suffit de l'ajouter ici et d'essayer de les ajouter tous les deux.

et n'oubliez pas de les ajouter à netbeans_default_options lorsque vous changez le XMX

-J-XX:+UseConcMarkSweepGC -J-XX:+CMSClassUnloadingEnabled -J-XX:+CMSPermGenSweepingEnabled

donc netbeans_default_options sera quelque chose comme ça:

netbeans_default_options="-J-client -J-Xss2m -J-Xms512m -J-Xmx1024m -J-XX:PermSize=256m -J-Dapple.laf.useScreenMenuBar=true -J-Dapple.awt.graphics.UseQuartz=true -J-Dsun.Java2d.noddraw=true -J-Dsun.Zip.disableMemoryMapping=true -J-XX:+UseConcMarkSweepGC -J-XX:+CMSClassUnloadingEnabled -J-XX:+CMSPermGenSweepingEnabled"
35
Majed

Dans la configuration d'exécution, vous devez définir Java VM option -Xmx512m ou autre qui limite la taille maximale de Java VM à 512M. Vous pouvez toujours expérimenter avec d'autres valeurs. Vous n'êtes limité que par la mémoire physique utilisée par l'OS.

3
user2173738