可以在用 JavaTM 编程语言编写的程序上收集性能数据,但需遵循下列约束。
在性能分析器中,Java HotspotTM 虚拟机编译的方法会出现在函数列表和带注释的反汇编列表中,但不会出现在带注释的源列表中。Java 方法可以编译多次,并且每个版本作为单独的函数出现在函数列表中。编译后的方法与合成加载对象 <DYNAMIC_FUNCTIONS> 相关联。对于解释后的方法,将会报告 JVMTM 软件中执行这些方法的那些部分的有关信息。
收集器不能获取 JVMTM 软件某些部分的信息。调用栈中相应的帧将会映射到 <Unknown> 函数。
在 SolarisTM 8 操作环境中,只要将 /usr/lib/lwp 添加到 LD_LIBRARY_PATH 环境变量中,便可以使用替代线程库。与使用标准库相比,使用该库通常能最终得到更好的程序性能和更好的性能数据。