热点JIT优化


问题内容

在有关Hotspot中的JIT的讲座中,我想提供尽可能多的JIT执行的特定优化示例。

我只知道“方法内联”,但是应该更多。为每个示例投票。


问题答案:

好吧,您应该阅读Brian Goetz的文章以获取示例。

简而言之,HotSpot可以并且将:

  1. 内联方法
  2. 连接synchronized同一对象上的相邻块
  3. 如果无法从其他线程访问监视器,则消除锁定
  4. 消除无效代码(因此大多数微基准都是毫无意义的)
  5. 对非volatile变量的直接存储器写入
  6. 用仅实现一次的方法的直接方法调用替换接口调用

等等