当你运行一个Java程序时,如果没有指定堆大小,JVM将根据你的计算机、操作系统、JVM版本等信息尝试确定一个合适的设置。当我在我的16GB RAM和Java 8上运行一个简单的Hello World程序时,它最初为堆分配了256mb。这显然远远超出了它的需求!如果我想强制它使用更少的内存,我可以使用-Xms
命令行来设置初始堆分配,-Xmx
用于设置允许的最大值。我的猜测是,如果你设置类似-Xms20m
的值,你的进程将使用更少的内存。在IntelliJ中,将该设置添加到运行配置的VM Options
字段中即可。