我目前正在编写一个单元测试,以查看给定方法的性能影响。从实践中我们观察到,当前在执行给定方法期间会发生大量的gc。我想知道是否有可能看到从Java运行方法期间发生了多少次gcs。
您可以使用GarbageCollectorMXBean来获取垃圾收集计数。
您可以执行以下操作:
Collection<GarbageCollectorMXBean> garbageCollectors = ManagementFactory.getGarbageCollectorMXBeans(); for (GarbageCollectorMXBean garbageCollectorMBean : garbageCollectors) { String gcName = garbageCollectorMBean.getName(); long gcCount = garbageCollectorMBean.getCollectionCount(); }