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.
Vous pouvez le définir dans NetBeans dans les propriétés du projet -> Exécuter -> 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.
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"
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.