如何增加netbeans中的Java堆大小?

我正在尝试在NetBeans中build立一个近似于110000字的词库。 我的代码运行良好,但它给出了一个例外,如下所示:

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堆空间。

您可以在项目属性 – >运行 – >虚拟机选项中的NetBeans中进行设置

  1. 右键点击你的项目“ 属性
  2. select“ 运行 ”类别。
  3. 在“ VM选项 ”文本框中input您的参数( -Xmx512m )。

示例:在“VM选项”文本框中input-Xmx512m可为您的Java程序提供512Mb的最大堆大小。

如果你想改变自己的netbeans,你可以从这个文件改变它:

 netbeans.conf 

你会在/ etc下的netbeans文件夹中find它

并且有两个堆的参数

Xms – 堆的初始大小。

Xmx – 最大Java堆大小

它使用默认的,你只需要添加它,并尝试添加它们两个。

也不要忘记在更改XMX时将其添加到netbeans_default_options

 -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" 

在运行configuration中,您应该设置Java VM选项-Xmx512m或其他将Java VM的最大大小限制为512M的其他选项。 您可以随时尝试其他值。 您仅限于操作系统使用的物理内存。