私のアプリケーションは、使用すると思われるよりもはるかに多くのメモリを使用しており、どのクラスが大量のメモリを使用しているのか理解しようとしています。それを解放しないかもしれない。Java VisualVMメモリサンプラー - 特定のクラスのサイズを取得する方法
私はVisualVMを使用しています。メモリサンプラーでは、ほとんどのメモリがChars、Strings、Bytesに費やされていますが、すべてのクラスでStringsを使用していますが、VisualVMがすべての文字と文字列をシステム(すべての文字は文字列と同じですが、文字列を保持する人を理解するのが難しくなります)、 私はこれらの文字列を保持する他のクラスのサイズが文字列なしで計算されることを理解しています。
このツールでは、「実際の」最大のクラス(これらの文字列をすべて保持するクラス)はどのように確認できますか? (できれば私はこれらのクラスから文字列に変換できますが、それ以外の方法ではできません) heapDumpで「最も近いGCへのルート」を使用しようとしましたが、約4,000,000文字列がありますので、 "ものは非常に小さいです...
ありがとう!!!
私は、どのクラスがどのくらいのメモリを使用しているかを明示できないと思います。異なるクラスの別のクラスのオブジェクトをインスタンス化している場合は、どうやってそれについて調べますか?私の知る限りでは、クラスベースの授業利用はできません。 – Johnydep