我对Netbeans中的这种错误不熟悉。我一直在使用我的net beans 8.0.2在Java J2SE中工作。我正在对字符串进行模糊搜索,通常是长度为300-500的字符串。我正在使用Levenshtein和Jaro Winkler算法来找到字符串之间的距离。 有大约1500次迭代来找到字符串之间的距离! 问题是我的网络bean通常会出错:
Low on Memory, Error Unable to Compile
我已经在网上进行了一些搜索以消除此错误,并找到了如何通过添加
来增加堆大小-Xms3G
命令意味着为堆提供3GB空间!但是错误仍然出现在编译过程中,并且项目在net beans中运行。
有人可以帮助我摆脱这个错误,因为当它发生时我得到了这个错误
java.lang.noClassDefError
请帮我摆脱这个错误我是这个错误的新手!
答案 0 :(得分:10)
使用-Xms3G
,这意味着您的JVM将以Xms
内存量(初始内存分配)启动。
但是使用-Xmx3G
,它将能够使用最大Xmx
个内存量,最大内存分配。
1.Netbeans堆大小
如果要增加NetbeansIDE堆大小,请编辑以下文件。(Netbeans安装目录中的etc文件夹)
C:\Program Files\NetBeans\etc\netbeans.conf
找到以下行并添加-J-Xmx3G
,您可以指定任意大小。我已经为例如。
netbeans_default_options="-J-client -J-Xss2m -J-Xms32m -J-Xmx3G -J-XX:PermSize=32m ......."
<强> 2。通过从Netbeans增加堆大小来运行项目的项目设置
右键单击项目 - &gt;属性 - &gt;运行 - &gt; VM选项 - &gt;自定义按钮。
您将找到许多VM选项,指定Xmx
的值。
第3。通过提供VM选项来运行jar文件,以增加Netbeans之外的堆大小。
运行表单命令行或编写脚本。
java -Xmx3G -jar filename.jar
希望这可能会有所帮助。
答案 1 :(得分:3)
我的问题最简单的答案是识别的技巧。我的工作目录中有很多netbeans项目。假设我的目录D:\ NetBeans \ WorkSpace包含大约300个项目! 我所做的是简化目录将旧项目移动到一个新目录中,只有少数项目留在我的netbeans工作空间中。 将多个项目移动到新目录后,错误消息将消失。 问题是当netbeans启动时它将项目加载到内存中,如果你有很多项目进入加载目录,它将导致内存泄漏!
答案 2 :(得分:0)
为NetBeans分配更多的内存。
希望获得帮助。