我目前正在编写一个单元测试来查看给定方法的性能影响。从实践中我们观察到,当前在给定方法的执行过程中发生了很多GC。我想知道是否可以查看从 java 运行方法期间发生了多少次 gc。
最佳答案
您可以使用GarbageCollectorMXBean获取垃圾收集的计数。
你可以这样做:
Collection<GarbageCollectorMXBean> garbageCollectors = ManagementFactory.getGarbageCollectorMXBeans();
for (GarbageCollectorMXBean garbageCollectorMBean : garbageCollectors) {
String gcName = garbageCollectorMBean.getName();
long gcCount = garbageCollectorMBean.getCollectionCount();
}
关于java - 计算单元测试运行期间发生的 gc 次数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22988515/