Javaに関する様々な情報をご紹介します。

Javaに関する様々な情報をご紹介します。
評価

0

メモリリークの対処法を教えてください。

とある機能を実行中に、VisualVMを用いて、ヒープの増加量とオブジェクトの割合を監視していました。

すると、ヒープがその機能を2回実行しただけで、ヒープの使用量が約200MBになり、そのうちint[]が130MBを占めていました。そのほかは、ArrayListとかchar[]などです。
しかし、特にint[]やchar[]を使っているところはまったくないにも関わらず、このオブジェクトがヒープの約8割を占めている理由がわかりません。

どなたか、このようになる原因と対策方法を教えてください。よろしくお願いします。

1

回答

4661

閲覧

1件の回答

評価

0

使っているところが全くないのであれば、値は常にガベージコレクションの対象となって解放される。
それが残っているのであれば、それは「全くない」と自分で考えているだけで、実際にはどこかからの参照が残っているということだ。

質問から6ヶ月以上経過しているので、回答を書き込むことはできません。