Not too surprising that it's available through a native programming interface (JVMTI) since it's really an implementation-dependent metric:
http://java.sun.com/j2se/1.5.0/docs/guide/jvmti/jvmti.html#GetObjectSize Quoting Brian Lee <[EMAIL PROTECTED]>: > If you run this from a simple console test app, the JVM won't allocate any > extra objects between 2 and 4. > > Unfortunatly, this is the most exact way to find out memory usage > (serialization size doesn't necessarily mean in memory size). > > Just wait til those slackers at Sun at a Object.sizeof() method in jdk1.9 or > > something lame. > > BAL > > >From: Navjot Singh <[EMAIL PROTECTED]> > >To: Struts Users Mailing List <[EMAIL PROTECTED]> > >Subject: Re: [OT] how to calculate the size of an object > >Date: Thu, 08 Jul 2004 22:16:12 +0530 > > > >hi, > > > >Thanks for the link but this is very naive way of doing it. I am leaving it > > >to the mercy of gc. > > > >What this method is doing > > > >1. run gc() manually (AND hope it wont run automatically again soon.) > >2. free memory > >3. create and object. > >4. free memory > > > >and now just wish that JVM wont allocate any memory in it's heap between > >steps 2 & 4. so that one can assume that whatsoever output comes belongs to > > >my object. I am at something better. > > > >Jim you are absolutely right, this technique may return a negative number. > > > >navjot singh > > > > > >[EMAIL PROTECTED] wrote: > > > >> > >>http://www.google.com/search?hl=en&lr=&ie=UTF-8&q=size+java+object > >> > >>The first one looks promising. > >> > >>Dennis > >> > >> > >> > >> > >>*Navjot Singh <[EMAIL PROTECTED]>* > >> > >>07/08/2004 11:57 AM > >>Please respond to > >>"Struts Users Mailing List" <[EMAIL PROTECTED]> > >> > >> > >> > >>To > >> Struts Users Mailing List <[EMAIL PROTECTED]> > >>cc > >> > >>Subject > >> [OT] how to calculate the size of an object > >> > >> > >> > >> > >> > >> > >> > >> > >>hi, > >> > >>I use SAX parser to load an LDIF file into memory. Whatsoever data i > >>read, i fill into an object. > >> > >>I need to know *the size of LDIFData object* at runtime. How to do that? > >> > >>Well the class structure is something like this > >> > >>public class LDIFData{ > >> ArrayList cards; // collection of Card > >> String filename; > >> long lastLoadedTime; > >>} > >> > >>public class Card{ > >> String name; > >> String email > >> String mobile; > >>} > >> > >>-- > >>regards > >>Navjot Singh > >> > >>When you jump for joy, beware that no-one moves the ground from beneath > >>your feet. -- Stanislaw Lem, "Unkempt Thoughts" > >> > >>--------------------------------------------------------------------- > >>To unsubscribe, e-mail: [EMAIL PROTECTED] > >>For additional commands, e-mail: [EMAIL PROTECTED] > >> > >> > >> > >>------------------------------------------------------------------------ > >> > >>--------------------------------------------------------------------- > >>To unsubscribe, e-mail: [EMAIL PROTECTED] > >>For additional commands, e-mail: [EMAIL PROTECTED] > > > >-- > >regards > >Navjot Singh > > > >When you jump for joy, beware that no-one moves the ground from beneath > >your feet. -- Stanislaw Lem, "Unkempt Thoughts" -- Kris Schneider <mailto:[EMAIL PROTECTED]> D.O.Tech <http://www.dotech.com/> --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]