我VisualVM
用来查看我的应用程序在哪里运行缓慢。但它没有显示所有方法,可能没有显示延迟应用程序的所有方法。
我有一个实时应用程序(声音处理)并且在几百微秒内有时间不足。
是否有可能VisualVM
隐藏本身快速的方法?
更新 1
我通过采样器和猜测找到了缓慢的方法。这是toString()
从调试日志中调用的方法,该方法已关闭,但耗时。
Settings
帮助,现在我知道如何看待它:这取决于Start profiling from
选项。
除了 Ryan Stewart 提到的过滤器之外,还有一些其他原因导致方法可能不会出现在分析器中:
我现在没有它,但在你开始分析之前,有一个默认隐藏的设置窗格,允许你输入正则表达式来过滤掉方法。默认情况下,它会过滤掉很多核心的 JDK 内容。
我的宠物项目也有同样的问题。我添加了一个package
名字,问题就解决了。我不明白为什么。VisualVM 1.4.1
,jdk1.8.0_181
和jdk-10.0.2
,Windows 10