我一直用javaagent分析我的java应用程序。但我发现JDK 7加强了对堆栈映射帧执行的检查,当字节码被不知道这些更改的工具修改时,这可能导致VerifyError异常。我们可以使用-XX:-UseSplitVerifier“切换到将验证程序更改回JDK 6版本。但是我发现没有javaagent的java应用程序的执行时间比javaagent运行的java应用程序要短。还有其他方法可以配置文件?JVMTI提供了更好的选择,但我对本机(c,c ++)语言不是很好。
答案 0 :(得分:3)
您可以尝试包含在oracle jdk中的jvisualvm
(如果您使用的是JDK版本6,则更新7或更高版本)
但是我发现没有javaagent的java应用程序的执行时间比javaagent运行的java应用程序要短得多
任何分析器都会有一些开销(如果它正在做某事必须使用cpu和一些内存本身)
答案 1 :(得分:2)
JProfiler适用于Java 7。