2012-03-08 12 views
-3

私はJavaプログラムでメモリリークを探しています。java memory leak fixing

私はクラスABCConfigurationABCConfigurationInfoクラスを持っています。 ABCConfigurationInfoは、private static final Stringの定数を持ち、プライベートTreeMapオブジェクトを保持するクラスです。 ABCConfigurationは、ABCConfigurationInfoクラス(private ABCConfigurationInfo fInfo;)のオブジェクトを保持する設定クラスです。

このプログラムを複数回実行すると、ABCConfigurationInfoのオブジェクトが増加し続けていることがわかりました(MATを使用)。私は修正がありません。私が変更されているされて

private ABCConfigurationInfo fInfo 

この後

private static ABCConfigurationInfo fInfo. 

に、私は複数の実行時間後ABCConfigurationInfoのオブジェクトをチェックしています。それは安定しており、1つのオブジェクトが作成されています。それは本当の修正ですか?アドバイスをお願いします。

私はこれらの多くの情報で、それを知るのは難しいことを知っています。あなたの元のバージョンには、事前

+0

スタティックがあなたのシナリオに合っている場合にのみ: あなたの問題を見つけるのを手助けできるようにあなたのコードを追加してください。 –

+0

あなたの設定が非常に複雑でメモリがかなり驚いています。これは本当にあなたのプログラムに大きな違いをもたらしますか? –

答えて

0

すべてのABCConfigurationオブジェクトに同じfInfoインスタンスを持つことができれば、それは有効な修正です。

+0

情報ありがとうございます。 – user867662

1

おかげで、すべてのABCConfigurationのための1 ABCConfigurationInfoがあります。 staticバージョンでは、アプリケーション全体に対して単一のABCConfigurationInfoがあります。それはすべてのABCConfigurationオブジェクトによって共有されています。それが適切かどうかは分かりません。あなただけがそうします。しかし、それは大きな変化です。あなたがしていることを意識する必要があります。