jvm调用内联化。

现代jvm几乎都能够讲静态工厂方法进行调用内联化。1、方法调用》函数调用先转移到该函数的内存地址,程序内容读取完毕后转到函数执行前方法。这种操作要求保护现场并记忆执行此地址,执行完恢复现场。这就是通常说的出栈和入栈,这需要一定时间和内存的开销。2、函数内联。程序编译时,编译器讲程序中的调用表达式用目标函数体直接替换。3、java函数内联由jvm决定,指定关键字final指明函数是否内联。jvm内联运行时优化,a、短方法更利于jvm优化。b、小方法频繁执行,jvm会执行内联。 

java - Should private helper methods be static if they can be static ,总结来说有以下两点:Make it clear to the reader that they will not modify the state of the object.The JIT compiler will anyways inline and optimize it.把 JIT 的内联优化放在第二位是因为这是个很小的优化,而Volley 源码中大量使用的 private static 主要原因是,为了清晰地表明该方法不会对所在对象造成任何更改。

用static关键字主要由两个优点:把域和方法变成类的域和方法,不会对实例造成更改,存放的内存地址也不一样,存放于数据区。第二点jit会对static的方法进行内联优化,当然这部分只是很小的优化。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值