我不能限制Java堆的大小

我不能限制Java堆的大小,java,Java,我已经在Intellij的“idea64.vmoptions”文件中使用Xmx128m设置了java堆大小限制。然而,即使我在代码中分配了千兆字节的内存,程序仍然可以运行,我没有得到任何内存不足的错误 对这种行为的解释是什么 PS:Intellij读取文件“idea64.vmoptions”,我检查了它,也就是说,当我将其设置为Xmx16m时,即使Intellij也无法启动 谢谢我想,idea64.vmoptions设置运行IntelliJ Idea本身所需的选项。它不控制IntelliJ中运行

我已经在Intellij的“idea64.vmoptions”文件中使用Xmx128m设置了java堆大小限制。然而,即使我在代码中分配了千兆字节的内存,程序仍然可以运行,我没有得到任何内存不足的错误

对这种行为的解释是什么

PS:Intellij读取文件“idea64.vmoptions”,我检查了它,也就是说,当我将其设置为Xmx16m时,即使Intellij也无法启动


谢谢

我想,
idea64.vmoptions
设置运行IntelliJ Idea本身所需的选项。它不控制IntelliJ中运行java程序的选项


检查相应项目类型的名称。例如,在:
vmoptions
框中设置运行jar文件所需的java选项。在此框中设置
-Xmx128m
应该对您有用。

idea64.vmoptions中声明的vm选项仅用于intelliJ启动。对于特定于项目的配置,可以通过
在intelliJ idea中编辑“运行”->“运行/调试配置”。

您究竟是以何种方式分配千兆字节内存的?我只是将对象放入while循环中的hashmap中。数量似乎非常少。如果有一些实际无法达到的最低设置,我不会感到惊讶。这些设置是否仅对IntelliJ本身有效,而对执行程序时启动的进程无效?您可能是对的@Sebi,您知道在哪里可以限制它启动的进程的堆空间吗。