通过记录静态变量,我可以看到我在测试运行中调用了函数 belongsInResults()
14,000 次,但是 JVM Monitor的“调用计数”仅为 215。该函数仅在一处被调用。这是 JVM 的调用树报告,底部有 belongsInResults()
:
我通过在调用 mergePrefixes 之前在单元测试中设置一个断点以及之后设置另一个断点,然后在此处开始和停止分析来生成此代码。
我也很好奇为什么“自拍时间”加起来达不到 100%。
最佳答案
探查器有两种工作方式: - 添加代码执行每个方法(检测) - 以固定间隔进行线程转储(采样)
只有第一个可以提供准确的调用计数,但开销要高得多
关于java - 为什么 JVM 监视器显示错误的调用计数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32120665/