jstat -printcompilation pid
可以获得有关最后一个编译方法的信息,如:
Compiled Size Type Method
207 64 1 java/lang/CharacterDataLatin1 toUpperCase
208 5 1 java/math/BigDecimal$StringBuilderHelper getCharArray
第三列是什么意思?我找不到有关"类型"的详细信息。包括多少种类型?
https://docs.oracle.com/javase/9/tools/jstat.htm#JSWOR734
oracle文档还没有足够的信息
Type
列中的值对应于此枚举:
1 = normal_compile // Regular JIT compilation
2 = osr_compile // On-stack replacement
3 = native_compile // Compiled wrapper for a native method
但是,normal_compile
以外的值仅在设置了-XX:+CICountOSR
或-XX:+CICountNative
选项的JVM调试构建中可用:
int last_compile_type = normal_compile;
if (CICountOSR && is_osr) {
last_compile_type = osr_compile;
} else if (CICountNative && method->is_native()) {
last_compile_type = native_compile;
}
在实践中,这意味着Type
始终是具有常规JDK的1
。