Java逐行方法/function分析 – Profiler和/或Eclipse插件

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

我正在寻找的是一个逐行热点分析器,可以帮助我缩短这么长时间。 我过去使用的繁琐工作只是战略性地放置System.currentTimeMillis()打印,在更极端的情况下使用Java CPUTime (通过JNI完成)。 有一些像英特尔Parallel Amplifier这样的分析器可以与C&Visual Studio一起使用,但Java有什么类似的吗?

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

JProfiler具有行号解析。 它默认情况下未启用,但如果您编辑配置文件设置,则会在“方法调用记录”选项卡上显示一个名为“记录行号并在调用树中显示它们”的复选框:

在此处输入图像描述

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

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