我正在执行一个巨大的计算,我得到一个"堆外空间"错误.我想知道的是,如果Java自动进行分页,那么在执行此计算时可能会使用我的硬盘空间吗?如果它不自动执行,我该如何启用此选项?
Mat*_*all 12
Java堆存在于RAM中(忽略虚拟内存:).您可以分别使用-Xms和-XmxVM args更改默认初始堆大小和最大堆大小.
通过使用-Xms和-Xmx开关分别指定初始和最大大小,可以覆盖旧一代的默认堆大小:
Run Code Online (Sandbox Code Playgroud)java -Xms <initial size> -Xmx <maximum size> program例如:
Run Code Online (Sandbox Code Playgroud)java -Xms128m -Xmx512m application
你的机器有多少内存?您认为需要更多堆的计算是什么?
堆的大小可以由 JVM 任意决定。对于大多数人来说,它是通过 -Xmx 命令行参数实现的,具有不同的默认值。您可能想要类似的东西:
java -Xmx2048M foo.bar.MyProgram
Run Code Online (Sandbox Code Playgroud)