我的應用程序使用了比我想它使用的內存多得多的內存,並且我試圖瞭解哪個類正在使用大量的內存,也許不會釋放它。Java VisualVM內存採樣器 - 如何獲取特定類的大小
我正在使用VisualVM,並且在內存採樣器中,我可以看到大部分內存都用在了字符,字符串和字節上,我所有的類都使用了字符串,但正如您所知,VisualVM會顯示所有字符和字符串系統(所有的字符都與字符串相同,這使得很難理解誰擁有它們), 據我瞭解,其他類的大小保持這些字符串的計算沒有字符串。
我怎樣才能看到這個工具是誰的「真正」最大的類 - 持有所有這些字符串? (最好是如果我可以從這些類到他們的字符串,而不是其他方式) 我試圖在heapDump中使用「根到最近的GC」,但有大約4,000,000個字符串,所以我找到「有問題的「那些很小......
謝謝!!!
我想你不能明確地說哪個類使用多少內存。如果你在其他類中實例化另一個類的對象,你會怎麼做呢?據我所知,你無法獲得基於班級的視覺利用。 – Johnydep 2012-01-09 14:01:29