java - 堆空间内存不足

标签 java memory physics heap-memory

我的应用程序目前消耗了大量内存,因为它正在运行物理模拟。问题是,在第 51 次模拟时,Java 通常会因为堆空间内存不足而抛出错误(我的程序最终会运行数千次模拟)。

有没有我不仅可以增加堆空间,还可以修改我的程序,以便在每次运行后清除堆空间,以便我可以运行任意数量的模拟?

编辑:谢谢大家。结果是模拟器软件在每次运行后都没有清除信息,而我将这些运行都存储在 ArrayList 中。

最佳答案

由于堆是在 Java 虚拟机启动时分配的,因此无法以编程方式动态增加堆。

但是,你可以使用这个命令

java -Xmx1024M YourClass

将内存设置为 1024

或者,您可以设置一个最小最大值

java -Xms256m -Xmx1024m YourClassNameHere

关于java - 堆空间内存不足,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6748432/

相关文章:

c++ - 为什么我们在内存中限制堆栈的大小而不是堆的大小

physics - 如何计算在一定距离上达到一定速度所需的减速度?

java - 为什么 Nbody.java 中的行星不旋转?

java - 如何保存不同类型的藏品?

java - 数组初始化 - 性能差异

java - 如何在保持干净的编程实践的同时设计一个通用的 Action 类?

java - 如何让应用程序每次运行时都请求位置权限?

unix - 为什么使用 `clone` 创建进程会导致内存不足故障?

c - 如何将变量传递给外部汇编函数

language-agnostic - 角动量传递方程