質問: とある機能を実行中に、VisualVMを用いて、ヒープの増加量とオブジェクトの割合を監視していました。 すると、ヒープがその機能を2回実行しただけで、ヒープの使用量が約200MBになり、そのうちint[]が130MBを占めていました。そのほかは、ArrayListとかchar[]などです。 しかし、特にint[]やchar[]を使っているところはまったくないにも関わらず、このオブジェクトがヒープの約8割を占めている理由がわかりません。 どなたか、このようになる原因と対策方法を教えてください。よろしくお願いします。
回答: 使っているところが全くないのであれば、値は常にガベージコレクションの対象となって解放される。 それが残っているのであれば、それは「全くない」と自分で考えているだけで、実際にはどこかからの参照が残っているということだ。