我想测量GC中的经过时间。我正在使用java.lang.management。 GarbageCollectorMXBean。上面的接口中有一个名为getCollectionTime()的方法,它以毫秒为单位返回相同的方法。现在,com.sun.management.GarbageCollectorMXBean扩展了上面的接口并公开了一个方法getLastGcInfo()来获取一个GcInfo对象。它有一个方法getDuration()。
我想知道这两者之间有什么区别。我尝试了两个并且发现每个收集器的值都不同。
任何帮助将不胜感激。
答案 0 :(得分:0)
取自java docs
以毫秒为单位返回此GC的已用时间。
以毫秒为单位返回已累计的累计收集时间。如果未对此收集器定义集合已用时间,则此方法返回-1。
Java虚拟机实现可能使用高分辨率 计时器来测量经过的时间。此方法可能返回相同的内容 即使收集计数已增加,即使该值也是如此 收集经过的时间非常短。