今日、私は、匿名クラスとして作成された多数のオブジェクトを持つ私のアプリケーションでメモリリークを発見しました。これは、各オブジェクトが独自のクラスを定義してヒープに入れた古典的な例でした。Javaの匿名クラスのGCルールを見つける方法は?
Eclipse Memory Analyzerで実行されたランタイム・メモリー・プロファイラーおよびヒープ・ダンプ分析では分かりませんでした。
実行時にスレッドID(または少なくとも親クラスローダー)で作成されたすべての匿名クラスをログに記録する方法を知りました。
私はこの1つのことだけで、根本的な原因を簡単に見つけることができると思います。