[Javalist] objektum mérete a memóriában
Böszörményi Péter
zmblevlist at gmail.com
2012. Jún. 15., P, 18:43:59 CEST
Tovabba a java.lang.instrument.Instrumentation,getObjectSize(Object
objectToSize) fuggvennyel is meg lehet probalkozni, igaz, ehhez agentet
kell irni, amirol ir a java.lang.instrument csomag doksija. Aztan meg
erdemes lehet nezelodni visualvm es az eclipse mat haza tajan is.
On Fri, 15 Jun 2012 17:53:14 +0200, Peter Verhas <peter at verhas.com> wrote:
> Egy objektum felépítése szerint van egy
>
> - 8 bájt fejléc
> - a primitív adatok 1,2,4 vagy 8 bájtosak
> - objektumok (referenciák, pointerek) 4 bájt
> - padding
>
> A 64bites VM-ekben az objektum referenciák lehetnek 8 bájtosak is, de ha
> megméred, és azt látod, hogy csak 4, akkor ne mágiára gondolj, hanem
> kompresszált pointer kezelésre (ugye a 8bájt=64bit nagy része többnyire
> nulla, és erre vannak trükkök, hogy akkor azt már ne tároljuk. segmens
> és offset meg hasonló régi jól bevált trükkök még a 8X86
> architektúrákból).
>
> Array méret egy másik dolog. Részletesen itt:
>
> http://www.javamex.com/tutorials/memory/object_memory_usage.shtml
>
> Esetleg ki lehet próbálni a
>
> http://www.javamex.com/classmexer/
>
> tool-t.
>
>
> --
> Verhás Péter
> peter at verhas.com
> +36(30)9306805
> skype: verhas
>
>
>
>
> On 2012.06.15., at 17:45, Gádori Zsolt wrote:
>
>> Sziasztok!
>>
>> Egy objektum memóriában ténylegesen elfoglalt méretét szeretném
>> meghatározni. Tehát nem a tartalmazott elemek számát! A C sizeof()
>> függvényével azonos feladatot végrehajtó metódusra volna szükségem.
>> Létezik valami módszer, hogy ezt egy tetszőleges objektumról meg tudjam
>> mondani?
>>
>> Köszi:
>> GZsolt.
>> --
>> <gadori.zs at gmail.com>
>> _______________________________________________
>> Javalist mailing list
>> Javalist at lists.javaforum.hu
>> http://lists.javaforum.hu/mailman/listinfo/javalist
>
--
Üdvözlettel,
Böszörményi Péter
További információk a(z) Javalist levelezőlistáról