15.认识JIT

本文详细介绍了JIT(Just-In-Time)编译器的工作原理,包括其如何在运行时动态编译代码以提升性能。讨论了JIT的混合模式和热点代码的识别阈值,如在Client模式下阈值为1500次,在Server模式下为10000次。还探讨了OSR栈上替换、方法内联等关键机制,并指导如何调整代码缓存大小以优化JVM性能。通过-XX选项可以手动控制这些行为并观察编译结果。
摘要由CSDN通过智能技术生成

01. 什么是JIT

即时编译:

  • JIT(just-in-time)编译器
  • 运行时动态编译代码
  • 相对于解释执行速度快

02. 开启JIT

开启JIT

03. JIT编译阈值

  • JIT使用混合模式运行(指定参数为-Xmixed),在混合模式时,只会对热点代码进行即时编译。对于是否为热点代码,虚拟机内有一个阈值进行判断,当函数调用次数超过这个阈值时,就被认为是热点代码,进行即时编译。
  • 在Client模式下,这个阈值为1500次
  • 在server模式下,这个阈值为10000次
  • -XX:Compile Threshod 可以手工设置这个阈值
  • -XX:+PrintCompilation 可以打印编译的结果

04. OSR栈上替换

栈上替换

05. 方法内联

方法内联

06. 设置代码缓存大小

缓存大小

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值