gpt4 book ai didi

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

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:34:05 26 4
gpt4 key购买 nike

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

现在我尝试在 Netbeans 7.1 中运行它,我从 Netbeans 获得以下输出

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 文件中“锁定”了堆大小,所以我去了那里。

首先我尝试了这个:

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 弹出窗口。

然后我试了一下:

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 下正常运行它,但想知道是否有人对此有解决方案。看起来应该很容易解决,但我只是忽略了一些东西?

感谢您的宝贵时间。

最佳答案

您似乎使用 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 替换为您实际打算使用的版本):

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

不是

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

请注意,Windows 中的“(x86)”表示 32 位,或者只需编辑您的项目并选择 64 位 JVM。您可能必须将 64 位 JVM 添加到工具 -> Java 平台。当然,如果您使用的不是 Windows,具体情况会有所不同,但这仍然是 32 位与 64 位的问题。

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

总结:

  1. 确保安装了 64 位 JDK
  2. 确保您的 64 位 JDK 在 NetBeans 的 Java 平台中列出
  3. 确保您的项目->属性->库->Java 平台设置为您要使用的 64 位 JDK。

关于java - Netbeans 7.0.1 和 7.1 之间 JVM 堆大小分配的差异?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10250083/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com