# All Classes and Interfaces

Class
Description
ArrayMeasurementUtils
Utility methods to measure arrays.
ByteBufferMeasurementUtils
Utility methods for `ByteBuffers` measurements.
CannotAccessFieldException
`RuntimeException` thrown when Jamm cannot access successfully one of the fields from an object of the measured graph.
CannotMeasureObjectException
`RuntimeException` thrown when Jamm fail to measure an object.
FieldAccessor
Utility to retrieve `Field` values.
FieldAndClassFilter
Filter for fields and classes.
FieldFilter
A filter for class fields.
Filters
Utility class providing the different filters used by `MemoryMeter`
IdentityHashSet
Simple set that use object equality to compare elements.
InstrumentationAndSpecStrategy
Strategy that use `java.lang.instrument.Instrumentation` to measure non array object and the `Specification` approach to measure arrays.
MathUtils
Measurable
Interface that allows users to avoid crawling via reflection by adding children manually to the stack, therefore speeding up the computation.
MeasurementStack
MemoryLayoutBasedStrategy
Base class for strategies that need access to the `MemoryLayoutSpecification` for computing object size.
MemoryLayoutSpecification
Information about the memory layout used by the JVM running the code.
MemoryMeter
Utility to measure the heap space used by java objects.
MemoryMeter.Builder
Builder for `MemoryMeter` instances
MemoryMeter.ByteBufferMode
The different way of measuring deeply a ByteBuffer.
MemoryMeter.Guess
The different strategies that can be used by a `MemoryMeter` instance to measure the shallow size of an object.
MemoryMeterListener
Listener that receive notification form MemoryMeter.
MemoryMeterListener.Factory
A factory for `MemoryMeterListener`.
MemoryMeterStrategies
The different strategies that can be used to measure object sizes.
MemoryMeterStrategy
Represents a strategy to measure the shallow memory used by a Java object.
MethodHandleUtils
NoopMemoryMeterListener
Listener that does nothing.
StringMeter
Utility to measure the value field of a `String`
TreePrinter
A memory listener that print to the `System.out` the class tree with the size information.
TreePrinter.Factory
Factory for `TreePrinter` instances.
Unmetered
Indicates that a specified field or type should not be measured or counted by `MemoryMeter`.
UnsafeStrategy
`MemoryMeterStrategy` relying on `Unsafe` to measure object sizes for Java versions ≥ 15.
VM
Utility class for retrieving information from the JVM.