我使用的是具有 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/