Class SizeOf

java.lang.Object
org.ehcache.sizeof.SizeOf
Direct Known Subclasses:
AgentSizeOf, ReflectionSizeOf, UnsafeSizeOf

public abstract class SizeOf extends Object
Abstract sizeOf for Java. It will rely on a proper sizeOf to measure sizes of entire object graphs
  • Field Details

  • Constructor Details

    • SizeOf

      public SizeOf(SizeOfFilter fieldFilter, boolean caching, boolean bypassFlyweight)
      Builds a new SizeOf that will filter fields according to the provided filter
      Parameters:
      fieldFilter - The filter to apply
      caching - whether to cache reflected fields
      bypassFlyweight - whether "Flyweight Objects" are to be ignored
      See Also:
  • Method Details

    • sizeOf

      public abstract long sizeOf(Object obj)
      Calculates the size in memory (heap) of the instance passed in, not navigating the down graph
      Parameters:
      obj - the object to measure the size of
      Returns:
      the object size in memory in bytes
    • deepSizeOf

      public long deepSizeOf(VisitorListener listener, Object... obj)
      Measures the size in memory (heap) of the objects passed in, walking their graph down Any overlap of the graphs being passed in will be recognized and only measured once
      Parameters:
      listener - A listener to visited objects
      obj - the root objects of the graphs to measure
      Returns:
      the total size in bytes for these objects
      See Also:
    • deepSizeOf

      public long deepSizeOf(Object... obj)
    • newInstance

      public static SizeOf newInstance(SizeOfFilter... filters)
    • newInstance

      public static SizeOf newInstance(boolean bypassFlyweight, boolean cache, SizeOfFilter... filters)