question: public static long shallowSizeOf ( Object obj ) { if ( obj == null ) return 0 ; final Class < ? > clz = obj . getClass ( ) ; if ( clz . isArray ( ) ) { return shallowSizeOfArray ( obj ) ; } else { return shallowSizeOfInstance ( clz ) ; } }
target:  Estimates a "shallow" memory usage of the given object. For arrays, this will be the memory taken by array storage (no subreferences will be followed). For objects, this will be the memory taken by the fields. JVM object alignments are also applied.