当前位置: 首页 > 面试题库 >

计算单元测试运行期间发生的gc的数量。

颜均
2023-03-14
问题内容

我目前正在编写一个单元测试,以查看给定方法的性能影响。从实践中我们观察到,当前在执行给定方法期间会发生大量的gc。我想知道是否有可能看到从Java运行方法期间发生了多少次gcs。


问题答案:

您可以使用GarbageCollectorMXBean来获取垃圾收集计数。

您可以执行以下操作:

Collection<GarbageCollectorMXBean> garbageCollectors = ManagementFactory.getGarbageCollectorMXBeans();
for (GarbageCollectorMXBean garbageCollectorMBean : garbageCollectors) {
    String gcName = garbageCollectorMBean.getName();
    long gcCount = garbageCollectorMBean.getCollectionCount();
}


 类似资料:
  • 对于我系统中的一个单例类,我很难在类测试期间将析构函数报告为“覆盖”(代码覆盖分析部分)。我认为这是因为测试框架在我的静态单例实例之前就被破坏了,因此我试图通过稍后创建单例实例来改变破坏顺序——而不是在程序启动时。 我的公共getInstance方法现在看起来像这样: 构造函数像往常一样是私有的,但我没有经典的单例静态实例指针作为类成员。相反,我将实例存储为静态函数内部数据(如上所示),该数据是在

  • 所以,我的问题是,我正在尝试为我的应用程序进行单元测试。我有两个服务,我们叫它们Foo和Bar,Foo只是Bar的代理。 因此,Foo服务的路由器如下所示: 向Bar服务发出请求的处理程序如下所示: 当我这样写测试时: 它永远冻结了......嗯,我想这是因为它周围的一些协程魔法,但是因为我在这方面还是新手,我不明白这里到底发生了什么。有什么帮助吗?

  • 我是单元测试新手,我只是想知道如果一个方法在内部调用自己的公共方法来计算返回值,会怎么样,如下所示: 我正在为它编写单元测试,我的问题是:我应该使用特定的整数值来匹配结果和期望值吗

  • 我通过以下命令克隆了Guava的存储库: 不幸的是,我收到了以下错误(在这里可以查看整个输出)。 如何运行Guava的单元测试?

  • 几周前,我正在进行单元测试,它们按照预期进行构建和运行。 我休假了一周,今天早上启动了我的机器,没有对单元测试项目进行任何代码更改,测试就不再运行了。 当我说“测试不再运行”时,我并不是说它们失败了;他们实际上不会逃跑。 我试过运行或调试一个特定的测试,我试过运行或调试所有的测试,我试过从每个测试方法名称旁边的Resharper图标,我试过从test菜单项,我试过从“Unit test Sessi

  • 问题内容: 我目前正在运行一些单元测试,这些单元测试可能要花很长时间才能失败或无限期地运行。在成功的测试运行中,它们将始终在一定时间内完成。 是否可以创建pytest单元测试,如果在一定时间内未完成,该测试将失败? 问题答案: 您可以安装pytest-timeout插件,然后用几秒钟的超时标记您的测试功能。 在https://pypi.python.org/pypi/pytest- timeout