AtomicStampedReference.get() 方法:为什么参数是数组?

AtomicStampedReference.get() method: why parameter is array?

前段时间我开始研究java.util.concurrent包。我的问题是关于 AtomicStampedReference class。 class 有方法

public V get(int[] stampHolder) {
    ...
}

自动获取引用和标记(如果我错了,请纠正我)。

方法的参数是数组是不是有什么特殊原因?文档对此只字不提。

也许(很可能)它只是对 simulate out parameters 的黑客攻击,因为在这种情况下,应该 return 编辑两个值:V 和一个 int 值。

另一种可能性是 return 一个元组 Tuple<V,Integer>,但是 Java 没有 Tuple class,这样效率可能较低创建一个 Tuple 对象的实例并另外装箱 int,这在并发上下文中可能很重要。