私はJavaでロールプレイングゲームを書いています。人間のプレイヤーはコンピューターと対戦するため、プレイヤーとコンピューターはそれぞれ制御するヒーローとモンスターのセットを持っています。私は、ターゲット取得、パス検索、スキル、精度、および健康のための一連のパス検索およびその他のアルゴリズムを実装しました。問題は、異なるキャラクターのアルゴリズムを同時に実行すると、ゲームが使用可能なすべてのメモリをすぐに消費し、Java ヒープ スペース エラーが発生することです。これで、次のスクリプト (java -Xmx1g Program) を使用してコードを実行し、Java ヒープの量を増やすことができますが、ゲームで使用できるメモリの量がわからず、量を誤って計算すると、コードで同じエラーが発生し、ハングします。私の質問は:実行時に使用可能なメモリの量を計算する方法はありますか? また、Java では実行時にヒープ領域を増やすことができないことも知っています。私の問題に対する他の解決策はありますか?
注:SOに関する次の質問を読みましたが、解決策が見つかりませんでした: