Uygulamam, kullanacağını düşündüğümden çok daha fazla bellek kullanıyor ve hangi sınıfın büyük miktarda bellek kullandığını anlamaya çalışıyorum. Belki de onu serbest bırakmamak.Java VisualVM bellek örnekleyici - belirli bir sınıfın boyutunu alma
VisualVM kullanıyorum ve bellek örnekleyicide belleğin çoğunun Chars, Strings ve Bytes'te harcandığını görebiliyorum, tüm sınıfları Strings kullanıyor, ancak VisualVM'in bildiğiniz gibi ALL Chars ve Strings'i sistemi (tüm Chars, kimin tuttuğunu anlamak zor kılan Dizeler ile aynıdır), , bu dizeleri tutan dizelerin büyüklüğünü anladığı gibi, dizeler olmadan hesaplanır.
Bu araçta, "Gerçek" en büyük sınıflar olan tüm bu dizeleri tutanlar nasıl görebilirim? (tercihen bu sınıflardan Dizeleri'ne ulaşabilirsem ve başka bir şekilde olmasaydı) "En yakın GC’ye root’u yığın yığınında kullanmayı denedim ama yaklaşık 4.000.000 Dizgim var" "olanlar çok küçüktür ...
Teşekkürler!
Sanırım hangi sınıfın ne kadar bellek kullandığını söyleyemezsiniz. Başka bir sınıfın nesnesini farklı bir sınıfta örnekliyorsanız, bunun hakkında nasıl düşünürsünüz? Ayrıca bildiğim kadarıyla bir sınıf tabanlı miyazi kullanımı elde edemezsiniz. – Johnydep