Można w jakiś normalny sposób sprawdzić w Javie ile dany obiekt (np: kolejka, mapa etc.) zajmuje w pamięci?
Deltech napisał(a):
https://docs.oracle.com/javase/7/docs/api/java/lang/instrument/Instrumentation.html
Jaki to ma wpływ na wydajność? Pytam bo w naszym systemie wydajność to priorytet.
sun.misc.unsafe i podobne, ale to nie jest do końca „normalny” sposób.
Przeczuwam tutaj http://xyproblem.info/ Wejdź na tą stronę, przeczytaj ze zrozumieniem a potem wrócic i napisz co chcesz osiągnąć.
Na początku trzeba sobie odpowiedzieć czy interesuje nas shallow size czy retained size: https://www.yourkit.com/docs/java/help/sizes.jsp Być może żaden z nich, np chcemy pominąć GC roots w rozważaniach i chcemy iść najgłębiej jak się da w obliczaniu rozmiaru. Trzeba z tym jednak uważać, bo np jeśli w mapie jest jedna klasa to przy przechodzeniu w głąb napotkamy w tejże klasie referencję do class loadera, który będzie miał kolekcję setek innych klas i summa summarum policzymy rozmiary dla gigantycznej ilości obiektów.