java - 为什么即使更改 -xmx VM 选项后,异常 "java.lang.OutOfMemoryError: Java heap space"仍然出现?

标签 java intellij-idea heap-memory ram

我使用的是具有 8GB RAM 的 Mac 上的 64 位操作系统。我需要在用 Java 编写的程序中为一些字节数组分配 2.9GB(我只是声明它们)。由于默认情况下您不能使用超过 1GB 的堆空间来运行 java 项目,因此您需要在 VM 选项中指定您的程序是否需要更多空间。我使用 IntelliJ Idea,所以我通过继续 Help 来做到这一点-> Edit Custom VM Options然后更改 -xmx field 。但无论我分配多少MB,程序都无法运行,因为这个异常:Exception in thread "main" java.lang.OutOfMemoryError: Java heap space ,就好像我没有更改虚拟机选项中的任何内容一样。运行程序时,PC 有足够的可用 RAM 来容纳 2.9GB 的数组。

最佳答案

Help -> Edit Custom VM Options 是为 IDEA 本身设置的,而不是为您的程序设置的。在运行中设置-Xmx -> 编辑配置.. -> 您的应用程序 -> VM选项 相反。

关于java - 为什么即使更改 -xmx VM 选项后,异常 "java.lang.OutOfMemoryError: Java heap space"仍然出现?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57339761/

相关文章:

c - (动态内存分配)为什么最大化峰值利用率?

java - 获取错误 :java. lang.OutOfMemoryError:超出 GC 开销限制

java - 尝试查看用户通过使用数组列表填写了多少编辑文本

java - 为单元测试创​​建对象 MockHttpServletResponse 时出错

windows - 在哪里可以找到适用于 Windows 的 OpenJDK 7 的夜间版本?

java - 如何修复jvm选项在gradle idea上将javafx 11导出到com.jfoenix?

java - 在创建应用程序 bean 之前初始化 Spring Batch DB

maven - 强制 Intellij IDEA 重新读取所有 Maven 依赖项

android - Flutter 应用未运行,仅显示 "Waiting for another flutter command to release the startup lock"

c - 如何在 Linux 上检查进程的堆大小