VisualVM有一个名为" VisualGC"的官方插件。在VisualGC选项卡中,有一个"编译时间"仪表显示编译次数和花费的时间。
无论指定了哪种GC方法/参数,仪表都会显示在任何带有OpenJDK JVM 6 +,Oracle Hotspot JVM 6+的操作系统上。
"编译时间"意思?
如果编译的时间花了很长时间,它会成为一个问题吗?显示很多分钟?
答案 0 :(得分:2)
检查Oracle documentation on VisualGC:
编译时间此面板绘制编译Java所花费的时间 字节码到本机代码中。此缩放的高度未缩放 任何特定的价值。此图中的非零值表示 编译活动发生在最后一个时间间隔内。一个狭窄的脉冲 表示持续时间相对较短,宽脉冲表示a 持续时间长。标题栏表示编译任务的数量 和自开始以来累积的编译时间 应用
因为visualgc监视JVM是有道理的。您可能知道,其中一个JVM主要任务是"翻译"虚拟机(字节代码)到您的具体架构说明。
在我的机器中,我观察到这次almos始终为零,因为我的JVM似乎使用JIT。
答案 1 :(得分:1)
根据Oracle文档here编译时间显示" ...将Java字节代码编译为本机代码所花费的时间"因此,编译的新代码越多,它就越高。