【发布时间】:2019-08-03 15:37:17
【问题描述】:
我在 8GB RAM 的 Mac 上使用 64 位操作系统。我需要在用 Java 编写的程序中为一些字节数组分配 2.9GB(我只是声明它们)。由于默认情况下您不能使用超过 1GB 的堆空间来运行 java 项目,因此如果您的程序需要更多,则需要在 VM 选项中指定。我在 IntelliJ Idea 上,所以我通过继续 Help -> Edit Custom VM Options 然后更改 -xmx 字段来做到这一点。但是无论我分配多少 MB,程序都无法运行,因为这个异常:Exception in thread "main" java.lang.OutOfMemoryError: Java heap space,好像我没有更改 VM 选项中的任何内容。运行程序时,PC 有足够的可用 RAM 来容纳 2.9GB 的数组。
【问题讨论】:
-
你将堆大小设置为多少?
-
您确定它消耗的空间不超过 2.9GB?你传递的
-xmx参数是什么? -
你是否 100% 确定不分配超过 2,9GB,一个提示是知道你使用了什么类型的数据,因为例如 int 类型分配 4 位
标签: java intellij-idea heap-memory ram