JVM调优系列1:ZGC详解

  • 逃逸分析

  • 标量替换

  • 栈上分配

  • 锁消除

  • 锁粗化

JIT

JVM 语言无关性
字节码执行
- 解释执行
- 即时编译 JIT

JIT是编译成本地字节码。非java字节码,是机器直接运行的本地编码,可能是汇编等。

图片

编译器

C1 class -> 本地编码(不做优化)
C2 性能优化

  • 热点探测技术
    • 方法内联
      热点探测技术
      方法体大小限制
    • 栈上分配

C2比较难维护,Java 10 以后开发了新的Graal(java写的)

  • 分层编译