public int calcObjectSizeBytesNotAUtility ( Object obj ) throws IOException { ByteArrayOutputStream bout = new ByteArrayOutputStream ( 10000 ) ; FSTObjectOutput ou = new FSTObjectOutput ( bout , this ) ; ou . writeObject ( obj , obj . getClass ( ) ) ; ou . close ( ) ; return bout . toByteArray ( ) . length ; }
for optimization purposes do not use to benchmark processing time or in a regular program as this methods creates a temporary binaryoutputstream and serializes the object in order to measure the size .