javadoc表示 * 返回已经发生的收集总数 *,是从JVM启动以来的总数吗?我正在使用G1 GC,我看到值在上升和下降,例如在T1 - 250和T2 - 91和T3 - 150,所以我怀疑它是从一开始的时间。那么,有人能告诉我getCollectionCount返回什么吗?每个垃圾收集器返回的结果都不一样吗?我已经在这里看过了couple的答案,但似乎没有一个能回答上面的问题。先谢谢你
eivnm1vs1#
GarbageCollectorMXBean.getCollectionCount()返回自JVM启动以来收集的总数。计数器从不递减。如果您看到它递减,则可能是获取它的方式有问题,或者意味着JVM在两个示例之间重新启动。请注意,在一个JVM中可以有多个GarbageCollectorMXBean,特别是G1 GC注册了两个MXBean:
GarbageCollectorMXBean.getCollectionCount()
java.lang:name=G1 Old Generation,type=GarbageCollector
java.lang:name=G1 Young Generation,type=GarbageCollector
每个Bean都有自己的计数器,该计数器会独立递增。请确保在比较值时查询同一个Bean。
1条答案
按热度按时间eivnm1vs1#
GarbageCollectorMXBean.getCollectionCount()
返回自JVM启动以来收集的总数。计数器从不递减。如果您看到它递减,则可能是获取它的方式有问题,或者意味着JVM在两个示例之间重新启动。请注意,在一个JVM中可以有多个GarbageCollectorMXBean,特别是G1 GC注册了两个MXBean:
java.lang:name=G1 Old Generation,type=GarbageCollector
个java.lang:name=G1 Young Generation,type=GarbageCollector
每个Bean都有自己的计数器,该计数器会独立递增。请确保在比较值时查询同一个Bean。