2

私のコードが次のようになっていると仮定します:

int value=-1;
for(int i=0;i<10;i++)
{
f(value);
}

wherefは、他のクラスを呼び出す複雑な関数です..など。

ここでパフォーマンスの問題が発生し、IDE (NetBeans) がフリーズし、数分後にヒープ サイズの例外がスローされます。実際には2回の繰り返しでもフリーズします(i<2)

ただし、順次実行すると

 f(value);

私は例外なくすぐに答えを得ました。

どうすればそのような問題を克服できますか?f(value)数回 実行する微調整/別の方法はありますか?

4

2 に答える 2

1

コードと関数の関連クラスを確認する必要があると思いますf(value);。あなたが言ったように、一度呼び出すことはすべて正しいですが、その後の呼び出しではヒープメモリ例外に直面しています。不要なオブジェクトをガベージ コレクションの対象にし、文字列の連結を回避し、使用可能なメモリを利用するためのいくつかのトリックを行います。

于 2013-11-13T10:23:18.833 に答える