You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何理解jstat -printcompilation输出?Type列含义及类型疑问

关于jstat -printcompilation输出中Type列的说明

使用命令 jstat -printcompilation <pid> 可以获取JVM最后编译的方法信息,示例输出如下:

Compiled Size Type Method
207 64 1 java/lang/CharacterDataLatin1 toUpperCase
208 5 1 java/math/BigDecimal$StringBuilderHelper getCharArray

Type列含义及常见类型

Type列是编译类型的标识,用来区分JVM对方法执行的不同编译场景,常见取值及对应含义:

  • 1:常规JIT编译,是JVM触发的标准即时编译场景
  • 2:OSR(栈上替换)编译,指方法在执行过程中直接替换为编译后的版本,不用等方法执行完毕
  • 3:通过-XX:CompileCommand参数指定的强制编译
  • 4:分层编译里的C1(客户端编译器)编译
  • 5:分层编译里的C2(服务端编译器)编译

注:这些类型基于HotSpot JVM的实现,不同JDK版本可能存在细微差异,Oracle官方文档对此描述有限,上述内容来自社区实践及HotSpot源码分析。

内容的提问来源于stack exchange,提问作者user12730122

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.14 03:20:36