java - 计算单元测试运行期间发生的 gc 次数

标签 java unit-testing garbage-collection

我目前正在编写一个单元测试来查看给定方法的性能影响。从实践中我们观察到,当前在给定方法的执行过程中发生了很多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/

相关文章:

java - Morphia 多字段排序不适用于类似电话簿的排序

c# - 在 Asmx Web 服务单元测试中出错

JavaScript 内存释放

java - 如果java匿名内部类采用不同的最终参数,如何重用它们?

java - Camel ReSTLet maxThreads 未按预期工作

java - 是否有必要将 String[] args 添加到 java 中的 main 方法,即使我确定我不会传递任何命令行参数?如果是,为什么?

java - 我有一段代码,即带有 try 和 catch block 的方法。 catch block 捕获异常,我该如何为其编写失败 junit?

c - Google 使用等待循环测试 C 函数

javascript - 为什么这个新代码比我的旧代码慢?

c# - 收集拥有对象时如何终止工作线程?