Package net.sf.ehcache.pool.sizeof
Class SizeOf
- java.lang.Object
-
- net.sf.ehcache.pool.sizeof.SizeOf
-
- Direct Known Subclasses:
AgentSizeOf,ReflectionSizeOf,UnsafeSizeOf
public abstract class SizeOf extends java.lang.ObjectAbstract sizeOf for Java. It will rely on a proper sizeOf to measure sizes of entire object graphs- Author:
- Alex Snaps
-
-
Constructor Summary
Constructors Constructor Description SizeOf(SizeOfFilter fieldFilter, boolean caching)Builds a new SizeOf that will filter fields according to the provided filter
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description SizedeepSizeOf(int maxDepth, boolean abortWhenMaxDepthExceeded, java.lang.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 onceabstract longsizeOf(java.lang.Object obj)Calculates the size in memory (heap) of the instance passed in, not navigating the down graph
-
-
-
Constructor Detail
-
SizeOf
public SizeOf(SizeOfFilter fieldFilter, boolean caching)
Builds a new SizeOf that will filter fields according to the provided filter- Parameters:
fieldFilter- The filter to applycaching- whether to cache reflected fields- See Also:
SizeOfFilter
-
-
Method Detail
-
sizeOf
public abstract long sizeOf(java.lang.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 Size deepSizeOf(int maxDepth, boolean abortWhenMaxDepthExceeded, java.lang.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:
maxDepth- maximum depth of the object graph to traverseabortWhenMaxDepthExceeded- true if the object traversal should be aborted when the max depth is exceededobj- the root objects of the graphs to measure- Returns:
- the total size in bytes for these objects
- See Also:
sizeOf(Object)
-
-