我目前正在编写一个单元测试来查看给定方法的性能影响。从实践中我们观察到,当前在给定方法的执行过程中发生了很多GC。我想知道是否可以查看从 java.lang.Runtime 方法运行期间发生了多少次 gc。
您可以使用垃圾收集器MXBean http://docs.oracle.com/javase/7/docs/api/java/lang/management/GarbageCollectorMXBean.html获取垃圾收集的计数。
你可以这样做:
Collection<GarbageCollectorMXBean> garbageCollectors = ManagementFactory.getGarbageCollectorMXBeans();
for (GarbageCollectorMXBean garbageCollectorMBean : garbageCollectors) {
String gcName = garbageCollectorMBean.getName();
long gcCount = garbageCollectorMBean.getCollectionCount();
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)