3 つのスレッドでマルチスレッド アプリケーションを実行しています。
- メイン スレッド - オブジェクトを格納するベクトル リスト
- AdderThread - このベクター リストにオブジェクトを追加する
- RemoverThread - vectorList.clear() メソッドでオブジェクトを削除する (同期)
アプリケーションは正常に動作しますが、数時間後に OutOfMemoryError が発生します。
ヒープ ダンプを生成し、すべてのメモリを使用している vectorList クラスを示す eclipse MAT で分析しました。
clear
メソッドは、個々のオブジェクトによって占有されていたメモリを解放しますか?
これを修正する方法は?