Java 逐行方法/函数分析 - Profiler &/或 Eclipse Plugin [已关闭]

2022-09-03 03:01:08

我有一些更大的方法,我试图在Java中优化。我一直在使用jVisualVM来做大部分的分析,因为它给出了方法调用的热点,是一个很好的起点。

我正在寻找的是一个逐行的热点分析器,它可以帮助我缩小需要很长时间的范围。我过去使用过的可视化工作只是战略性地放置System.currentTimeMillis()打印,并且在更极端的情况下使用Java CPUTime(通过JNI完成)。有一些像Intel Parallel Amplifier这样的分析器可以与C和Visual Studio一起使用,但是Java有这样的东西吗?

这两个选项都有点乏味,那么有没有任何东西(Eclipse插件或其他)可以进行逐行热点分析?


答案 1

JProfiler具有行号分辨率。默认情况下不启用此功能,但如果您编辑分析设置,则会在“方法呼叫记录”选项卡上显示一个名为“记录线路号码并在呼叫树中显示它们”的复选框:

enter image description here

免责声明:我公司开发JProfiler。


答案 2

dynaTrace 中,您可以通过检测所有调用的方法来执行类似的操作,但它是一个商业工具。或者,您可以使用例如ASM编写自己的仪器工具(但是:(非常繁琐)


推荐