シミュレーション ループで、複数のメソッドを持つクラスのメソッドを頻繁に呼び出す必要があります。
これらのメソッドの一部は、情報を格納するために一時オブジェクトにアクセスする必要があります。メソッドを終了すると、保存されたデータは不要になります。例えば:
Class class {
method1() {
...
SomeObject temp = new SomeObject();
...
}
method2() {
...
SomeObject temp = new SomeObject();
SomeObject temp2 = new SomeObject();
...
}
}
可能な限り最適化する必要があります。最も費用のかかる (除去可能な) 問題は、割り当てが多すぎることです。これらのオブジェクトに必要なスペースを毎回割り当てないほうがよいと思うので、それらを保持したいと思います。
それらを静的な方法で保存する方が効率的ですか?お気に入り:
Class class {
private (static?) SomeObject temp;
private (static?) SomeObject temp2;
methods...
}
それとももっと良い方法がありますか?ご協力ありがとうございました!
回答に基づいて編集: メモリフットプリントが実際の問題ではなく、ガベージコレクションが混乱を解消しています。SomeObject は Point2D に似たクラスであり、メモリを消費するものはありません (私の意見では)。(最終的に静的な)クラスレベルのオブジェクトをプレースホルダーとして使用する方が良いのか、それとも私が認識していないより高度な方法を使用する方が良いのかはわかりません。