GarbageCollectorMXBean (Java Platform SE 8 )
Keywords: java.lang.management.GarbageCollectorMXBean interface
Date: 2026-07-22

compact3
java.lang.management

## Interface GarbageCollectorMXBean

- All Superinterfaces:
    MemoryManagerMXBean, PlatformManagedObject

      public interface GarbageCollectorMXBean
      extends MemoryManagerMXBean

  The management interface for the garbage collection of the Java virtual machine. Garbage collection is the process that the Java virtual machine uses to find and reclaim unreachable objects to free up memory space. A garbage collector is one type of `memory manager`.

  A Java virtual machine may have one or more instances of the implementation class of this interface. An instance implementing this interface is an MXBean that can be obtained by calling the `ManagementFactory.getGarbageCollectorMXBeans()` method or from the `platform `MBeanServer`` method.

  The `ObjectName` for uniquely identifying the MXBean for a garbage collector within an MBeanServer is:

  > ``java.lang:type=GarbageCollector```,name=`collector's name

  It can be obtained by calling the `PlatformManagedObject.getObjectName()` method. A platform usually includes additional platform-dependent information specific to a garbage collection algorithm for monitoring.
  Since:
    1.5
  See Also:
    `ManagementFactory.getPlatformMXBeans(Class)`, `MemoryMXBean`, JMX Specification., Ways to Access MXBeans

- - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method and Description
    --- | ---
    `long` | `getCollectionCount()` Returns the total number of collections that have occurred.
    `long` | `getCollectionTime()` Returns the approximate accumulated collection elapsed time in milliseconds.

    - ### Methods inherited from interface java.lang.management.MemoryManagerMXBean

      `getMemoryPoolNames, getName, isValid`

    - ### Methods inherited from interface java.lang.management.PlatformManagedObject

      `getObjectName`

- - ### Method Detail

    - #### getCollectionCount

          long getCollectionCount()

      Returns the total number of collections that have occurred. This method returns `-1` if the collection count is undefined for this collector.
      Returns:
        the total number of collections that have occurred.

    - #### getCollectionTime

          long getCollectionTime()

      Returns the approximate accumulated collection elapsed time in milliseconds. This method returns `-1` if the collection elapsed time is undefined for this collector.

      The Java virtual machine implementation may use a high resolution timer to measure the elapsed time. This method may return the same value even if the collection count has been incremented if the collection elapsed time is very short.

      Returns:
        the approximate accumulated collection elapsed time in milliseconds.

Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2026, Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.