小编Vla*_*nko的帖子

在使用之前复制对局部变量的引用很重要

在OpenJDK 8中探索java.util.LinkedList的代码,我找到了以下代码.代码很简单,但我很困惑将第一个节点的引用保存到第二行代码中的常量.据我所知,这段代码将被内联到单行内容而无需参考复制.我对吗?如果是这样,为什么需要在这个和类似的情况下复制引用(这样的习惯用法可以在java.util.LinkedList的一半方法中找到)?

public E peek() {
    final Node<E> f = first;
    return (f == null) ? null : f.item;
}
Run Code Online (Sandbox Code Playgroud)

我的第一个想法是它以某种方式帮助并发,但LinkedList不允许并发访问(除了你自己承担风险),所以我想这是优化器的一些提示,但无法弄清楚它应该如何工作.

java

12
推荐指数
1
解决办法
653
查看次数

标签 统计

java ×1