Module  jdk.management
软件包  com.sun.management

Class GcInfo

  • All Implemented Interfaces:
    CompositeDataCompositeDataView


    public class GcInfo
    extends Object
    implements CompositeData, CompositeDataView
    垃圾收集信息。 它包含一个垃圾收集以及GC特定属性的以下信息:
    • Start time
    • End time
    • Duration
    • Memory usage before the collection starts
    • Memory usage after the collection ends

    GcInfo是一个CompositeData可以通过CompositeData接口获得GC特定的属性。 这是一个历史文物,其他的类也不应该复制这种模式。 改用CompositeDataView

    MXBean映射

    GcInfo被映射到CompositeData作为指定具有属性from方法。
    从以下版本开始:
    1.5
    • 方法详细信息

      • getId

        public long getId​()
        返回此垃圾收集的标识符,该收集器是收集器完成的集合数。
        结果
        这个垃圾收集的标识符是收集器完成的集合数。
      • getStartTime

        public long getStartTime​()
        从Java虚拟机启动后返回此GC的开始时间(以毫秒为单位)。
        结果
        该GC的开始时间。
      • getEndTime

        public long getEndTime​()
        从Java虚拟机启动后返回此GC的结束时间(以毫秒为单位)。
        结果
        这个GC的结束时间。
      • getDuration

        public long getDuration​()
        返回此GC的已用时间(以毫秒为单位)。
        结果
        该GC的经过时间(以毫秒为单位)。
      • getMemoryUsageBeforeGc

        public Map<String,MemoryUsage> getMemoryUsageBeforeGc​()
        返回此GC开头的所有内存池的内存使用情况。 此方法将返回一个内存池名称的Map与GC启动前相应内存池的内存使用情况。
        结果
        一个 Map的内存池名称与GC启动前的内存池的内存使用情况。
      • getMemoryUsageAfterGc

        public Map<String,MemoryUsage> getMemoryUsageAfterGc​()
        返回此GC结尾处的所有内存池的内存使用情况。 当GC完成时,此方法返回一个内存池名称的Map到相应内存池的内存使用情况。
        结果
        一个 Map的内存池名称,当GC完成时,内存池的内存使用量。
      • from

        public static GcInfo from​(CompositeData cd)
        返回由给定的CompositeData表示的GcInfo对象。 给定的CompositeData必须包含以下所有属性:
        description
        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
        结果
        一个GcInfo通过表示对象cd如果cd不是null ; 否则为null
        异常
        IllegalArgumentException - 如果 cd不表示具有上述属性的 GcInfo对象。
      • containsKey

        public boolean containsKey​(String key)
        描述从接口CompositeData复制
        返回true当且仅当此CompositeData实例包含名称是项目key 如果key是空或空字符串,则此方法只返回false。
        Specified by:
        containsKey在接口 CompositeData
        参数
        key - 要测试的关键。
        结果
        如果这个 CompositeData包含密钥, CompositeData true。
      • containsValue

        public boolean containsValue​(Object value)
        描述从接口CompositeData复制
        返回 true当且仅当此 CompositeData实例包含其值是一个项目 value
        Specified by:
        containsValue在接口 CompositeData
        参数
        value - 要测试的值。
        结果
        如果此 CompositeData true。
      • equals

        public boolean equals​(Object obj)
        描述从类复制: Object
        指示一些其他对象是否等于此。

        equals方法在非空对象引用上实现等价关系:

        • 自反性 :对于任何非空的参考值xx.equals(x)应该返回true
        • 它是对称的 :对于任何非空引用值xyx.equals(y)应该返回true当且仅当y.equals(x)回报true
        • 传递性 :对于任何非空引用值xy ,并z ,如果x.equals(y)回报truey.equals(z)回报true ,然后x.equals(z)应该返回true
        • 一致 :对于任何非空引用值xy ,多重调用x.equals(y)始终返回true或始终返回false ,前提是在equals对对象进行比较的信息进行修改。
        • 对于任何非空的参考值xx.equals(null)应该返回false

        equals类方法Object实现对象上差别可能性最大的相等关系; 也就是说,对于任何非空参考值xy ,当且仅当xy引用相同对象( x == y具有值true )时,该方法返回true

        请注意,无论何时覆盖此方法,通常需要覆盖hashCode方法,以便维护hashCode方法的通用合同,该方法规定相等的对象必须具有相等的哈希码。

        Specified by:
        equals在接口 CompositeData
        重写:
        equalsObject
        参数
        obj - 与之比较的参考对象。
        结果
        如果该对象与obj参数相同, true ; 否则为false
        另请参见:
        Object.hashCode()HashMap
      • get

        public Object get​(String key)
        描述从接口CompositeData复制
        返回名称为 key的项目的值。
        Specified by:
        get在接口 CompositeData
        参数
        key - 项目的名称。
        结果
        与该键相关联的值。
      • getAll

        public Object[] getAll​(String[] keys)
        说明从接口CompositeData复制
        返回其名称由被指定的项目的值的数组 keys ,以相同的顺序为 keys
        Specified by:
        getAll在接口 CompositeData
        参数
        keys - 项目的名称。
        结果
        与键对应的值。
      • hashCode

        public int hashCode​()
        描述从类复制: Object
        返回对象的哈希码值。 支持这种方法有利于哈希表,如HashMap所提供的那样

        hashCode的一般合同是:

        • 只要在执行Java应用程序时多次在同一个对象上调用该函数,则hashCode方法必须始终返回相同的整数,前提是修改了对象中equals比较中的信息。 该整数不需要从一个应用程序的执行到相同应用程序的另一个执行保持一致。
        • 如果根据equals(Object)方法两个对象相等,则在两个对象中的每个对象上调用hashCode方法必须产生相同的整数结果。
        • 要求如果两个对象根据Object.equals(java.lang.Object)方法不相等,那么在两个对象中的每个对象上调用hashCode方法必须产生不同的整数结果。 但是,程序员应该意识到,为不等对象生成不同的整数结果可能会提高哈希表的性能。

        尽可能多的合理实用,由类Object定义的hashCode方法确实为不同对象返回不同的整数。 (在某个时间点,hashCode可能或可能不被实现为对象的存储器地址的某些功能。)

        Specified by:
        hashCode在接口 CompositeData
        重写:
        hashCodeObject
        结果
        该对象的哈希码值。
        另请参见:
        Object.equals(java.lang.Object)System.identityHashCode(java.lang.Object)
      • toString

        public String toString​()
        描述从类复制: Object
        返回对象的字符串表示形式。 一般来说, toString方法返回一个字符串,“文本地表示”此对象。 结果应该是一个简明扼要的表达,容易让人阅读。 建议所有子类覆盖此方法。

        toString类方法Object返回一个由类的名称,其中所述对象是其实例,该符号字符`的字符串@ ”,并且对象的哈希码的无符号的十六进制表示。 换句话说,这个方法返回一个等于下列值的字符串:

         getClass().getName() + '@' + Integer.toHexString(hashCode())
         
        Specified by:
        toString在接口 CompositeData
        重写:
        toStringObject
        结果
        对象的字符串表示形式。
      • values

        public Collection<?> values​()
        描述从接口CompositeData复制
        返回此CompositeData实例中包含的项目值的不可修改的集合视图。 返回的集合的迭代器将以相应项目名称的升序字典顺序返回值。
        Specified by:
        values在接口 CompositeData
        结果
        价值。
      • toCompositeData

        public CompositeData toCompositeData​(CompositeType ct)
        返回CompositeData如此表示GcInfo ,包括任何具体的GC-属性。 返回的值将至少具有from方法中描述的所有属性,以及可选的其他属性。
        Specified by:
        toCompositeData在接口 CompositeDataView
        参数
        ct - 呼叫者期望的CompositeType 此参数被忽略,可以为null。
        结果
        the CompositeData representation.