首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Netbeans 7.0.1和7.1之间JVM堆大小分配的差异?

Netbeans 7.0.1和7.1之间JVM堆大小分配的差异?
EN

Stack Overflow用户
提问于 2012-04-21 00:35:25
回答 1查看 1.4K关注 0票数 3

我有一个使用Netbeans 7.0.1开发的java程序,用于解析和保存大型CSV文件。由于CSV文件的大小,我需要增加JVM的堆大小。在7.0.1中,我使用Netbeans中Project ->Properties -> VM选项下的-Xmx4096m规范将堆大小设置为在我的系统上使用8 4GB中的4 4GB。它在7.0.1中工作得很好。

现在,我正尝试在Netbeans 7.1中运行它,并从Netbeans的输出中获得以下内容

代码语言:javascript
复制
Could not create the Java virtual machine.
Invalid maximum heap size: -Xmx4096m
The specified size exceeds the maximum representable size.
Java Result: 1

当我收到这个错误时,我没有改变Netbeans中的默认设置。

我想大概在7.1中,他们已经“锁定”了netbeans.config文件中的堆大小,所以我去了那里。

首先,我尝试了一下:

代码语言:javascript
复制
netbeans_default_options="-J-client -J-Xss2m -J-Xms32m -J-Xmx4906m -J-XX:PermSize=32m -J-Dapple.laf.useScreenMenuBar=true -J-Dapple.awt.graphics.UseQuartz=true -J-Dsun.java2d.noddraw=true -J-Dsun.zip.disableMemoryMapping=true"

这会在Netbeans的闪屏上弹出一个无法创建JVM的窗口。

然后我试了一下:

代码语言:javascript
复制
netbeans_default_options="-J-client -J-Xss2m -J-Xms32m -J-XX:PermSize=32m -J-XX:MaxPermSize=4096m -J-Dapple.laf.useScreenMenuBar=true -J-Dapple.awt.graphics.UseQuartz=true -J-Dsun.java2d.noddraw=true -J-Dsun.zip.disableMemoryMapping=true"

Netbeans似乎更喜欢这样,因为加载栏将一直到“完成模块加载”。但之后它就会挂在闪屏上。我让它在那里挂了5分钟,然后杀了它。

这对我来说不是一个阻碍,因为我仍然可以在7.0.1下运行得很好,但是我想知道是否有人有解决这个问题的方法。这看起来应该是一个简单的修复,但我只是忽略了一些东西?

耽误您时间,实在对不起。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-04-21 02:10:54

看起来您使用32位java.exe安装了NetBeans,请在C:\Program Files (x86)\NetBeans 7.1\etc\或C:\Program Files\NetBeans 7.1\etc\中编辑您的netbeans.conf,并确保显示(将jdk1.7.0_03替换为您实际打算使用的版本):

代码语言:javascript
复制
...
# Default location of JDK, can be overridden by using --jdkhome <dir>:
netbeans_jdkhome="C:\Program Files\Java\jdk1.7.0_03"
...

而不是

代码语言:javascript
复制
...
# Default location of JDK, can be overridden by using --jdkhome <dir>:
netbeans_jdkhome="C:\Program Files (x86)\Java\jdk1.7.0_03"
...

请注意,Windows中的“( JVM )”表示32位,或者直接编辑您的项目并选择64位x86。您可能需要将64位JVM添加到Tools->Java Platforms。当然,如果你不使用Windows,细节会有所不同,但这仍然是一个32位与64位的问题。

当有人想要使用较新的JVM,但是他们意外地安装了32位版本而不是64位版本时,通常会出现这种情况。另请注意:您可以将项目配置为在64位JVM中运行/调试,而NetBeans本身在32位JVM中运行,因此您实际上不必修改netbeans.conf来使您的项目能够分配4 4GB。

总而言之:

  1. 确保您安装了64位JDK
  2. 确保您的64位JDK列在NetBeans
  3. 的Java平台中确保您的项目->属性->库->Java平台设置为您要使用的64位JDK。
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10250083

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档