com.sun.management

## Class GcInfo

- java.lang.Object
- - com.sun.management.GcInfo

All Implemented Interfaces:
  CompositeData, CompositeDataView

    public class GcInfo
    extends Object
    implements CompositeData, CompositeDataView

Garbage collection information. It contains the following information for one garbage collection as well as GC-specific attributes:

> - Start time
> - End time
> - Duration
> - Memory usage before the collection starts
> - Memory usage after the collection ends

`GcInfo` is a `CompositeData` The GC-specific attributes can be obtained via the CompositeData interface. This is a historical relic, and other classes should not copy this pattern. Use `CompositeDataView` instead.

#### MXBean Mapping

`GcInfo` is mapped to a `CompositeData` with attributes as specified in the `from` method.

Since:
  1.5

### Method Summary

Methods
`boolean` `containsKey(String key)`
`boolean` `containsValue(Object value)`
`boolean` `equals(Object obj)`
`static GcInfo` `from(CompositeData cd)` Returns a `GcInfo` object represented by the given `CompositeData`.
`Object` `get(String key)`
`Object[]` `getAll(String[] keys)`
`CompositeType` `getCompositeType()`
`long` `getDuration()` Returns the elapsed time of this GC in milliseconds.
`long` `getEndTime()` Returns the end time of this GC in milliseconds since the Java virtual machine was started.
`long` `getId()` Returns the identifier of this garbage collection which is the number of collections that this collector has done.
`Map<String,MemoryUsage>` `getMemoryUsageAfterGc()` Returns the memory usage of all memory pools at the end of this GC.
`Map<String,MemoryUsage>` `getMemoryUsageBeforeGc()` Returns the memory usage of all memory pools at the beginning of this GC.
`long` `getStartTime()` Returns the start time of this GC in milliseconds since the Java virtual machine was started.
`int` `hashCode()`
`CompositeData` `toCompositeData(CompositeType ct)` Return the `CompositeData` representation of this `GcInfo`, including any GC-specific attributes.
`String` `toString()`
`Collection` `values()`

### Methods inherited from class java.lang.Object

`clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

### Method Detail

#### getId

    public long getId()

Returns the identifier of this garbage collection which is the number of collections that this collector has done.

Returns:
  the identifier of this garbage collection which is the number of collections that this collector has done.

#### getStartTime

    public long getStartTime()

Returns the start time of this GC in milliseconds since the Java virtual machine was started.

Returns:
  the start time of this GC.

#### getEndTime

    public long getEndTime()

Returns the end time of this GC in milliseconds since the Java virtual machine was started.

Returns:
  the end time of this GC.

#### getDuration

    public long getDuration()

Returns the elapsed time of this GC in milliseconds.

Returns:
  the elapsed time of this GC in milliseconds.

#### getMemoryUsageBeforeGc

    public Map<String,MemoryUsage> getMemoryUsageBeforeGc()

Returns the memory usage of all memory pools at the beginning of this GC. This method returns a `Map` of the name of a memory pool to the memory usage of the corresponding memory pool before GC starts.

Returns:
  a `Map` of memory pool names to the memory usage of a memory pool before GC starts.

#### getMemoryUsageAfterGc

    public Map<String,MemoryUsage> getMemoryUsageAfterGc()

Returns the memory usage of all memory pools at the end of this GC. This method returns a `Map` of the name of a memory pool to the memory usage of the corresponding memory pool when GC finishes.

Returns:
  a `Map` of memory pool names to the memory usage of a memory pool when GC finishes.

#### from

    public static GcInfo from(CompositeData cd)

Returns a `GcInfo` object represented by the given `CompositeData`. The given `CompositeData` must contain all the following attributes:

> Attribute Name | Type
> --- | ---
> index | `java.lang.Long`
> startTime | `java.lang.Long`
> endTime | `java.lang.Long`
> memoryUsageBeforeGc | `javax.management.openmbean.TabularData`
> memoryUsageAfterGc | `javax.management.openmbean.TabularData`

Returns:
  a `GcInfo` object represented by `cd` if `cd` is not `null`; `null` otherwise.
Throws:
  `IllegalArgumentException` - if `cd` does not represent a `GcInfo` object with the attributes described above.

#### containsKey

    public boolean containsKey(String key)

Specified by:
  `containsKey` in interface `CompositeData`

#### containsValue

    public boolean containsValue(Object value)

Specified by:
  `containsValue` in interface `CompositeData`

#### equals

    public boolean equals(Object obj)

Specified by:
  `equals` in interface `CompositeData`
Overrides:
  `equals` in class `Object`

#### get

    public Object get(String key)

Specified by:
  `get` in interface `CompositeData`

#### getAll

    public Object[] getAll(String[] keys)

Specified by:
  `getAll` in interface `CompositeData`

#### getCompositeType

    public CompositeType getCompositeType()

Specified by:
  `getCompositeType` in interface `CompositeData`

#### hashCode

    public int hashCode()

Specified by:
  `hashCode` in interface `CompositeData`
Overrides:
  `hashCode` in class `Object`

#### toString

    public String toString()

Specified by:
  `toString` in interface `CompositeData`
Overrides:
  `toString` in class `Object`

#### values

    public Collection values()

Specified by:
  `values` in interface `CompositeData`

#### toCompositeData

    public CompositeData toCompositeData(CompositeType ct)

Return the `CompositeData` representation of this `GcInfo`, including any GC-specific attributes. The returned value will have at least all the attributes described in the `from` method, plus optionally other attributes.

Specified by:
  `toCompositeData` in interface `CompositeDataView`
Parameters:
  `ct` - the `CompositeType` that the caller expects. This parameter is ignored and can be null.
Returns:
  the `CompositeData` representation.

Copyright © 2003, 2014, Oracle and/or its affiliates. All rights reserved.