Class MemoryPoolMXBeanImpl

java.lang.Object
com.ibm.lang.management.internal.MemoryPoolMXBeanImpl
All Implemented Interfaces:
MemoryPoolMXBean, MemoryPoolMXBean, PlatformManagedObject

public final class MemoryPoolMXBeanImpl extends Object implements MemoryPoolMXBean
Implementation of the extended MemoryPoolMXBean.
  • Method Details

    • getCollectionUsage

      public MemoryUsage getCollectionUsage()
      If supported by the virtual machine, returns a MemoryUsage which encapsulates this memory pool's memory usage after the most recent run of the garbage collector. No garbage collection will be actually occur as a result of this method getting called.
      Specified by:
      getCollectionUsage in interface MemoryPoolMXBean
      Returns:
      a MemoryUsage object that may be interrogated by the caller to determine the details of the memory usage. Returns null if the virtual machine does not support this method.
    • getPreCollectionUsage

      public MemoryUsage getPreCollectionUsage()
      To satisfy com.ibm.lang.management.MemoryPoolMXBean.
      Returns:
      a MemoryUsage containing the usage details for the memory pool just before the most recent collection occurred. Returns null if the virtual machine does not support this method.
    • getCollectionUsageThreshold

      public long getCollectionUsageThreshold()
      Returns this memory pool's collection usage threshold.
      Specified by:
      getCollectionUsageThreshold in interface MemoryPoolMXBean
      Returns:
      the collection usage threshold in bytes. The default value as set by the virtual machine will be zero.
      See Also:
    • getCollectionUsageThresholdCount

      public long getCollectionUsageThresholdCount()
      Returns the number of times that the memory usage for this memory pool has grown to exceed the collection usage threshold.
      Specified by:
      getCollectionUsageThresholdCount in interface MemoryPoolMXBean
      Returns:
      a count of the number of times that the collection usage threshold has been surpassed.
      See Also:
    • getMemoryManagerNames

      public String[] getMemoryManagerNames()
      Returns a string array containing the unique names of each memory manager that manages this memory pool. A memory pool will always have at least one memory manager associated with it.
      Specified by:
      getMemoryManagerNames in interface MemoryPoolMXBean
      Returns:
      the names of all the memory managers for this memory pool.
    • getName

      public String getName()
      Returns the name of this memory pool.
      Specified by:
      getName in interface MemoryPoolMXBean
      Returns:
      the name of this memory pool.
    • getPeakUsage

      public MemoryUsage getPeakUsage()
      Returns information on the peak usage of the memory pool. The scope of this covers all elapsed time since either the start of the virtual machine or the peak usage was reset.
      Specified by:
      getPeakUsage in interface MemoryPoolMXBean
      Returns:
      a MemoryUsage which can be interrogated by the caller to determine details of the peak memory usage. A null value will be returned if the memory pool no longer exists (and the pool is therefore considered to be invalid).
      See Also:
    • getType

      public MemoryType getType()
      Returns the memory pool's type.
      Specified by:
      getType in interface MemoryPoolMXBean
      Returns:
      a MemoryType value indicating the type of the memory pool (heap or non-heap).
    • getUsage

      public MemoryUsage getUsage()
      Returns the current memory usage of this memory pool as estimated by the virtual machine.
      Specified by:
      getUsage in interface MemoryPoolMXBean
      Returns:
      an instance of MemoryUsage that can be interrogated by the caller to determine details on the pool's current memory usage. A null value will be returned if the memory pool no longer exists (in which case it is considered to be invalid).
      See Also:
    • getUsageThreshold

      public long getUsageThreshold()
      Returns this memory pool's usage threshold.
      Specified by:
      getUsageThreshold in interface MemoryPoolMXBean
      Returns:
      the usage threshold in bytes. The default value as set by the virtual machine depends on the platform the virtual machine is running on. will be zero.
      See Also:
    • getUsageThresholdCount

      public long getUsageThresholdCount()
      Returns the number of times that the memory usage for this memory pool has grown to exceed the current usage threshold.
      Specified by:
      getUsageThresholdCount in interface MemoryPoolMXBean
      Returns:
      a count of the number of times that the usage threshold has been surpassed.
      See Also:
    • isCollectionUsageThresholdExceeded

      public boolean isCollectionUsageThresholdExceeded()
      Returns a boolean indication of whether or not this memory pool hit or exceeded the current value of the collection usage threshold after the latest garbage collection run.
      Specified by:
      isCollectionUsageThresholdExceeded in interface MemoryPoolMXBean
      Returns:
      true if the collection usage threshold was surpassed after the latest garbage collection run, otherwise false.
      See Also:
    • isCollectionUsageThresholdSupported

      public boolean isCollectionUsageThresholdSupported()
      Returns a boolean indication of whether or not this memory pool supports a collection usage threshold.
      Specified by:
      isCollectionUsageThresholdSupported in interface MemoryPoolMXBean
      Returns:
      true if supported, false otherwise.
    • isUsageThresholdExceeded

      public boolean isUsageThresholdExceeded()
      Returns a boolean indication of whether or not this memory pool has hit or has exceeded the current value of the usage threshold.
      Specified by:
      isUsageThresholdExceeded in interface MemoryPoolMXBean
      Returns:
      true if the usage threshold has been surpassed, otherwise false.
      See Also:
    • isUsageThresholdSupported

      public boolean isUsageThresholdSupported()
      Returns a boolean indication of whether or not this memory pool supports a usage threshold.
      Specified by:
      isUsageThresholdSupported in interface MemoryPoolMXBean
      Returns:
      true if supported, false otherwise.
    • isValid

      public boolean isValid()
      Returns a boolean indication of whether or not this memory pool may still be considered valid. A memory pool becomes invalid once it has been removed by the virtual machine.
      Specified by:
      isValid in interface MemoryPoolMXBean
      Returns:
      true if the memory pool has not been removed by the virtual machine, false otherwise.
    • resetPeakUsage

      public void resetPeakUsage()
      Updates this memory pool's memory usage peak value to be whatever the value of the current memory usage is.
      Specified by:
      resetPeakUsage in interface MemoryPoolMXBean
    • setCollectionUsageThreshold

      public void setCollectionUsageThreshold(long threshold)
      Updates this memory pool to have a new value for its collection usage threshold. Only values of zero or greater should be supplied. A zero value effectively turns off any further checking of collection memory usage by the virtual machine. A value greater than zero establishes the new threshold which the virtual machine will check against after each run of the garbage collector in the memory pool.
      Specified by:
      setCollectionUsageThreshold in interface MemoryPoolMXBean
      Parameters:
      threshold - the size of the new collection usage threshold expressed in bytes.
    • setUsageThreshold

      public void setUsageThreshold(long threshold)
      Updates this memory pool to have a new value for its usage threshold. Only values of zero or greater should be supplied. A zero value effectively turns off any further checking of memory usage by the virtual machine. A value greater than zero establishes the new threshold which the virtual machine will check against.
      Specified by:
      setUsageThreshold in interface MemoryPoolMXBean
      Parameters:
      threshold - the size of the new usage threshold expressed in bytes.
    • getObjectName

      public ObjectName getObjectName()
      Returns an ObjectName instance representing the object name of this platform managed object.
      Specified by:
      getObjectName in interface PlatformManagedObject
      Returns:
      an ObjectName instance representing the object name of this platform managed object.