我用Java编写了一个角色扮演游戏。人类玩家与电脑对战,因此玩家和电脑分别拥有一组英雄和怪物来控制。我已经实现了一套路径查找和其他算法,用于目标获取、路径查找、技能、准确性和健康。问题是,通过同时为不同角色运行算法,游戏很快就会消耗所有可用内存并给出 Java 堆空间错误。现在我可以使用这个脚本运行我的代码:(java -Xmx1g 程序)并增加 Java 堆的数量,但我不知道游戏有多少内存可用,当我计算错误数量时,代码给出了相同的错误和挂起。我的问题是:无论如何在运行时计算可用内存量?我也知道在 Java 中不能在运行时增加堆空间。那么我的问题还有其他解决方案吗?
注意:我已阅读有关 SO 的以下问题,但找不到解决方案: