加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

Java中的本地参考优化

发布时间:2020-12-15 08:45:29 所属栏目:Java 来源:网络整理
导读:void myMethod(Object arg){ arg.getThing().method1(); arg.getThing().method2();} 基本的Java 6安装是否会将其优化为对访问器的单个调用(可能通过将引用存储在本地).我意识到如果有多个线程,优化器可能不得不这样做.几乎所有Java 6 JVM都有我可以期待的常
void myMethod(Object arg)
{
    arg.getThing().method1();
    arg.getThing().method2();
}

基本的Java 6安装是否会将其优化为对访问器的单个调用(可能通过将引用存储在本地).我意识到如果有多个线程,优化器可能不得不这样做.几乎所有Java 6 JVM都有我可以期待的常见优化列表吗?

例:

{
       Object local = arg.getThing();
       local.method1();
       local.method2();
    }

解决方法

我不希望javac编译器在这里进行任何优化,因为getThing()的值可以随时间和调用之间的变化(例如,堆栈上的随机值或pop()操作或当前时间.你明白了.

也许JIT编译器可以优化它,如果它看到getThing()方法总是返回相同的东西,但我不会指望它.即便是最简单的回报;如果thing的值被另一个线程更改,则statement可以返回不同的值.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读