This MXBean interface allows monitoring of
the current and peak memory usage for a single memory pool. Typical
Java VM implementations segregate garbage-collected heap memory into
two or more memory pools based on the age of the objects. Obtain a
List of MemoryPoolMXBean
instances with ManagementFactory.getMemoryPoolMXBeans(
). getName(
)
and
getType( ) return the name and type of each pool.
getUsage( ) and getPeakUsage( ) return
the current and peak memory usage for the pool in the form of a
MemoryUsage object.
If isUsageThresholdSupported(
) returns TRue, you can use
setUsageThreshold(
) to define a memory usage threshold. The
MemoryPoolMXBean then keeps track of threshold
crossings and issues notifications through the
javax.management.NotificationEmitter API. You can
register a javax.management.NotificationListener
to receive these notifications. (Note that the
javax.management package is not covered in this
book.) Use setCollectionUsageThreshold( ) instead
to receive notifications when memory usage exceeds a specified
threshold after a garbage collection pass.
public interface
MemoryPoolMXBean {
// Public Instance Methods
MemoryUsage
getCollectionUsage ( );
long
getCollectionUsageThreshold ( );
long
getCollectionUsageThresholdCount ( );
String[ ]
getMemoryManagerNames ( );
String
getName ( );
MemoryUsage
getPeakUsage ( );
MemoryType
getType ( );
MemoryUsage
getUsage ( );
long
getUsageThreshold ( );
long
getUsageThresholdCount ( );
boolean
isCollectionUsageThresholdExceeded ( );
boolean
isCollectionUsageThresholdSupported ( );
boolean
isUsageThresholdExceeded ( );
boolean
isUsageThresholdSupported ( );
boolean
isValid ( );
void
resetPeakUsage ( );
void
setCollectionUsageThreshold (long
threhsold );
void
setUsageThreshold (long
threshold );
}