2013-03-17 15 views
28

Próbuję zbudować leksykonu trie prawie 110000 słów w java w netbeans. Mój kod działa prawidłowo, ale daje wyjątek w następujący sposób:Jak zwiększyć rozmiar sterty java w netbeans?

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 

Zastanawiałem się, czy ktoś może mi pomóc w zwiększeniu przestrzeni sterty java w NetBeans.

Odpowiedz

47

Można ustawić go w NetBeans we właściwościach projektu -> Uruchom -> Opcje VM

  1. prawym przyciskiem myszy na projekcie "Właściwości"
  2. Select "Run" kategorii.
  3. Wprowadź swoje argumenty (-Xmx512m) w polu tekstowym "VM Options".

Przykład: Wstawienie -Xmx512m w polu tekstowym "Opcje VM" daje 512Mb maksymalnego sterty dla twojego programu Java.

+1

NetBeans zmieniła kiedyś w ciągu ostatnich 4 lat, a "Build and Run" nie ma teraz nic intuicyjnego do wprowadzenia argumentów linii poleceń. Tylko niektóre predefiniowane cele. –

2

W konfiguracji uruchamiania należy ustawić opcję Java VM -Xmx512m lub inną, która ogranicza maksymalny rozmiar wirtualnej maszyny Java do 512M. Zawsze możesz eksperymentować z innymi wartościami. Jesteś ograniczony tylko pamięcią fizyczną używaną przez system operacyjny.

28

jeśli chcesz go zmienić dla NetBeans to samo można go zmienić od tego pliku:

netbeans.conf 

znajdziesz go w folderze NetBeans w/etc

i nie ma dwóch parametrów dla sterty

Xms - początkowy rozmiar sterty.

Xmx - max wielkość sterty Java

go przy użyciu domyślnego, po prostu trzeba go dodać tam i spróbować je zarówno dodać.

a także nie zapomnij dodać tych, do netbeans_default_options po zmianie xmx

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

tak netbeans_default_options będzie coś takiego:

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" 
Powiązane problemy