Class ObjectSizeUtil


  • public class ObjectSizeUtil
    extends java.lang.Object
    • Field Detail

      • VERBOSE

        public static boolean VERBOSE
      • decimalFormat

        private static java.text.DecimalFormat decimalFormat
      • primitiveSizes

        private static final java.util.Map primitiveSizes
    • Constructor Detail

      • ObjectSizeUtil

        public ObjectSizeUtil()
    • Method Detail

      • getFieldSize

        public static int getFieldSize​(java.lang.Class clazz)
      • getPointerSize

        public static int getPointerSize()
      • deepSizeOf

        public static ObjectSize deepSizeOf​(java.lang.Object obj,
                                            IObjectSizeFilter filter,
                                            int maxObjects)
        Calculates full size of object iterating over its hierarchy graph.
        Parameters:
        obj - object to calculate size of
        filter - the filter used to ignore fields or objects
        maxObjects - the max numbers of objects to traverse
        Returns:
        object size
        Throws:
        java.lang.Exception
      • deepSizeOf

        public static ObjectSize deepSizeOf​(java.lang.Object obj)
      • skipObject

        private static boolean skipObject​(java.lang.Object obj,
                                          java.util.Map<java.lang.Object,​java.lang.Object> visited,
                                          IObjectSizeFilter filter)
      • skipField

        private static boolean skipField​(java.lang.reflect.Field field,
                                         IObjectSizeFilter filter)
      • getArrayShallowSize

        private static long getArrayShallowSize​(java.lang.Object obj)
      • roundUpToNearestEightBytes

        private static long roundUpToNearestEightBytes​(long result)
      • main

        public static void main​(java.lang.String[] args)
                         throws java.lang.Exception
        Throws:
        java.lang.Exception