我的应用程序目前消耗了大量内存,因为它正在运行物理模拟。问题是,在第 51 次模拟时,Java 通常会因为堆空间内存不足而抛出错误(我的程序最终会运行数千次模拟)。
有没有我不仅可以增加堆空间,还可以修改我的程序,以便在每次运行后清除堆空间,以便我可以运行任意数量的模拟?
编辑:谢谢大家。结果是模拟器软件在每次运行后都没有清除信息,而我将这些运行都存储在 ArrayList
中。
最佳答案
由于堆是在 Java 虚拟机启动时分配的,因此无法以编程方式动态增加堆。
但是,你可以使用这个命令
java -Xmx1024M YourClass
将内存设置为 1024
或者,您可以设置一个最小最大值
java -Xms256m -Xmx1024m YourClassNameHere
关于java - 堆空间内存不足,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6748432/