相当于AtomicReference但没有不稳定的同步成本

Noo*_*z42 5 java reference

相当于:

AtomicReference<SomeClass> ref = new AtomicReference<SomeClass>( ... );
Run Code Online (Sandbox Code Playgroud)

但没有同步成本.请注意,我确实想在另一个对象中包含一个引用.

我查看了扩展Reference抽象类的类,但是我在所有选择中都有点迷失.

我需要一些非常简单的东西,不是弱的,也不是幻像,也不是除了一个之外的所有其他参考 我应该使用哪一堂课?

Pet*_*rey 5

如果您想要一个没有线程安全性的引用,您可以使用一个数组.

MyObject[] ref = { new MyObject() };
MyObject mo = ref[0];
ref[0] = n;
Run Code Online (Sandbox Code Playgroud)


Joh*_*int 4

如果您只是尝试在对象中存储引用。你不能创建一个带有字段的类吗,考虑到该字段将是一个强有力的引用,应该可以实现你想要的

您不应该创建 StrongReference 类(因为它很愚蠢),而是为了演示它

public class StrongReference{
  Object refernece;

  public void set(Object ref){
    this.reference =ref;
  }
  public Object get(){
    return this.reference;
  }

}
Run Code Online (Sandbox Code Playgroud)

  • 我不认为这是毫无意义的;它是一个引用容器,对于从 lambda 表达式中生成副作用非常有用。否则,方法链之类的事情可能会变得丑陋。我知道函数式编程风格不鼓励这种事情,但有时它很有用,并且可以使代码更具可读性。 (2认同)