JVM学习笔记-JIT编译优化

JIT编译优化

  • 公共子表达式消除– ab+(c+ba) = E + (c + E)
  • 方法内联–将方法调用直接替换称方法体中的代码以减少压栈和出栈的开销
  • 逃逸分析–确定方法内被定义的对象能否被外部方法引用
    • 全局变量赋值逃逸
    • 方法返回值逃逸
    • 实例引用逃逸
    • 线程逃逸(共享变量或赋值给类变量)
  • 针对没有逃逸的对象可以做的优化
    • 对象的栈上内存分配–不会逃逸的对象创建在栈内存中(有几率,并不是所有),减少GC次数
    • 同步锁消除–不会逃逸的对象不需要加锁,在编译时就将同步锁去掉,以减少加锁、解锁带来的资源开销
    • 标量替换–当A对象的属性有固定值时,被B对象创建并使用该属性时,会取消创建对象直接使用该属性的固定值(使用分解后的成员变量)
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值