Sun Studio 12:性能分析器

用户表示法

用户表示法按名称显示已编译的和已解释的 Java 方法,并以其自然形式显示本机方法。在执行过程中,可能存在已执行的特定 Java 方法的许多实例:已解释的版本,也许还有一个或多个已编译的版本。在 Java 表示法中,所有方法会被聚集显示为一个方法。缺省情况下,在分析器中选定此表示法。

Java 表示法中 Java 方法的 PC 与该方法中的方法 id 和字节码索引相对应;本机函数的 PC 与机器 PC 相对应。Java 线程的调用栈可能同时具有 Java PC 和机器 PC。它没有对应于 Java 内务处理代码(无 Java 表示法)的任何帧。在某些情况下,JVM 软件无法展开 Java 堆栈,将返回单个帧及特殊函数 <no Java callstack recorded>。通常,它占总时间的比例不会超过 5-10%。

Java 表示法中的函数列表针对所调用的 Java 方法和任何本机方法显示度量。调用者-被调用者面板显示 Java 表示法中的调用关系。

Java 方法的源代码对应于 .java 文件(从中编译源代码,每个源代码行上都有度量)中的源代码。任何 Java 方法的反汇编显示为它生成的字节码,以及针对每个字节码的度量和交错的 Java 源代码(如果可用)。

Java 表示法中的时间线仅显示 Java 线程。每个线程的调用栈与其 Java 方法一起显示。

所有 Java 程序都可能具有显式同步,通常是通过调用 monitor-enter 例程执行的。

Java 表示法中的同步延迟跟踪基于 JVMTI 同步事件。Java 表示法中不显示来自常规同步跟踪的数据。

当前不支持 Java 表示法中的数据空间分析。