2013-03-17 57 views
28

我正在嘗試在NetBeans中構建一個近似於110000字的java詞庫。我的代碼運行良好,但如下給出了一個例外:如何增加netbeans中的java堆大小?

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 

我想知道,如果有人可以幫助我在NetBeans中增加Java堆空間。

回答

47

您可以設置它在NetBeans項目屬性 - >運行 - > VM選項

  1. 右鍵點擊你的項目 「屬性
  2. 選擇 「運行」 的範疇。
  3. 在「VM選項」文本框中輸入您的參數(-Xmx512m)。

示例:在「VM選項」文本框中輸入-Xmx512m可爲您的Java程序提供512Mb的最大堆大小。

+1

的NetBeans在過去4年中的某個時候發生變化,和「構建和運行」現在沒有任何直觀的命令行參數。只有一些預定義目標。 – 2017-07-12 09:00:16

2

在運行配置中,您應該設置Java VM選項-Xmx512m或其他將Java VM的最大大小限制爲512M的其他選項。您可以隨時嘗試其他值。您僅限於操作系統使用的物理內存。

28

,如果你想改變它的NetBeans它的自我,你可以把它從這個文件改變:

netbeans.conf 

,你會發現它在NetBeans的文件夾中的/ etc

,並有兩個參數堆

Xms - 堆的初始大小。

XMX -

它使用默認的最大Java堆大小,你就必須有加,並設法加入他們。

,也不要忘了添加那些netbeans_default_options當你改變XMX

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

所以netbeans_default_options將是類似的東西:

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"