# Print output for @column tags ?>
  public
  
  
  
  class
  AtomicReference
  
    extends Object
  
  
  
  
  
      implements
      
        Serializable
      
  
  
| java.lang.Object | |
| ↳ | java.util.concurrent.atomic.AtomicReference<V> | 
An object reference that may be updated atomically. See the java.util.concurrent.atomic package specification for description
 of the properties of atomic variables.
Public constructors | |
|---|---|
      
      AtomicReference(V initialValue)
      
      
        Creates a new AtomicReference with the given initial value.  | 
  |
      
      AtomicReference()
      
      
        Creates a new AtomicReference with null initial value.  | 
  |
Public methods | |
|---|---|
        
        
        
        final
        
        V
     | 
  
    
      
      accumulateAndGet(V x, BinaryOperator<V> accumulatorFunction)
      
      
        Atomically updates the current value with the results of applying the given function to the current and given values, returning the updated value.  | 
  
        
        
        
        final
        
        boolean
     | 
  
    
      
      compareAndSet(V expect, V update)
      
      
        Atomically sets the value to the given updated value
 if the current value   | 
  
        
        
        
        final
        
        V
     | 
  
    
      
      get()
      
      
        Gets the current value.  | 
  
        
        
        
        final
        
        V
     | 
  
    
      
      getAndAccumulate(V x, BinaryOperator<V> accumulatorFunction)
      
      
        Atomically updates the current value with the results of applying the given function to the current and given values, returning the previous value.  | 
  
        
        
        
        final
        
        V
     | 
  
    
      
      getAndSet(V newValue)
      
      
        Atomically sets to the given value and returns the old value.  | 
  
        
        
        
        final
        
        V
     | 
  
    
      
      getAndUpdate(UnaryOperator<V> updateFunction)
      
      
        Atomically updates the current value with the results of applying the given function, returning the previous value.  | 
  
        
        
        
        final
        
        void
     | 
  
    
      
      lazySet(V newValue)
      
      
        Eventually sets to the given value.  | 
  
        
        
        
        final
        
        void
     | 
  
    
      
      set(V newValue)
      
      
        Sets to the given value.  | 
  
        
        
        
        
        
        String
     | 
  
    
      
      toString()
      
      
        Returns the String representation of the current value.  | 
  
        
        
        
        final
        
        V
     | 
  
    
      
      updateAndGet(UnaryOperator<V> updateFunction)
      
      
        Atomically updates the current value with the results of applying the given function, returning the updated value.  | 
  
        
        
        
        final
        
        boolean
     | 
  
    
      
      weakCompareAndSet(V expect, V update)
      
      
        Atomically sets the value to the given updated value
 if the current value   | 
  
Inherited methods | |
|---|---|
public AtomicReference (V initialValue)
Creates a new AtomicReference with the given initial value.
| Parameters | |
|---|---|
initialValue | 
        
          V: the initial value | 
      
public AtomicReference ()
Creates a new AtomicReference with null initial value.
public final V accumulateAndGet (V x, 
                BinaryOperator<V> accumulatorFunction)
    
    
    
  Atomically updates the current value with the results of applying the given function to the current and given values, returning the updated value. The function should be side-effect-free, since it may be re-applied when attempted updates fail due to contention among threads. The function is applied with the current value as its first argument, and the given update as the second argument.
| Parameters | |
|---|---|
x | 
        
          V: the update value | 
      
accumulatorFunction | 
        
          BinaryOperator: a side-effect-free function of two arguments | 
      
| Returns | |
|---|---|
V | 
        the updated value | 
public final boolean compareAndSet (V expect, 
                V update)
    
    
    
  Atomically sets the value to the given updated value
 if the current value == the expected value.
| Parameters | |
|---|---|
expect | 
        
          V: the expected value | 
      
update | 
        
          V: the new value | 
      
| Returns | |
|---|---|
boolean | 
        true if successful. False return indicates that
 the actual value was not equal to the expected value. | 
      
public final V get ()
Gets the current value.
| Returns | |
|---|---|
V | 
        the current value | 
public final V getAndAccumulate (V x, 
                BinaryOperator<V> accumulatorFunction)
    
    
    
  Atomically updates the current value with the results of applying the given function to the current and given values, returning the previous value. The function should be side-effect-free, since it may be re-applied when attempted updates fail due to contention among threads. The function is applied with the current value as its first argument, and the given update as the second argument.
| Parameters | |
|---|---|
x | 
        
          V: the update value | 
      
accumulatorFunction | 
        
          BinaryOperator: a side-effect-free function of two arguments | 
      
| Returns | |
|---|---|
V | 
        the previous value | 
public final V getAndSet (V newValue)
Atomically sets to the given value and returns the old value.
| Parameters | |
|---|---|
newValue | 
        
          V: the new value | 
      
| Returns | |
|---|---|
V | 
        the previous value | 
public final V getAndUpdate (UnaryOperator<V> updateFunction)
Atomically updates the current value with the results of applying the given function, returning the previous value. The function should be side-effect-free, since it may be re-applied when attempted updates fail due to contention among threads.
| Parameters | |
|---|---|
updateFunction | 
        
          UnaryOperator: a side-effect-free function | 
      
| Returns | |
|---|---|
V | 
        the previous value | 
public final void lazySet (V newValue)
Eventually sets to the given value.
| Parameters | |
|---|---|
newValue | 
        
          V: the new value | 
      
public final void set (V newValue)
Sets to the given value.
| Parameters | |
|---|---|
newValue | 
        
          V: the new value | 
      
public String toString ()
Returns the String representation of the current value.
| Returns | |
|---|---|
String | 
        the String representation of the current value | 
public final V updateAndGet (UnaryOperator<V> updateFunction)
Atomically updates the current value with the results of applying the given function, returning the updated value. The function should be side-effect-free, since it may be re-applied when attempted updates fail due to contention among threads.
| Parameters | |
|---|---|
updateFunction | 
        
          UnaryOperator: a side-effect-free function | 
      
| Returns | |
|---|---|
V | 
        the updated value | 
public final boolean weakCompareAndSet (V expect, 
                V update)
    
    
    
  Atomically sets the value to the given updated value
 if the current value == the expected value.
 
May fail
 spuriously and does not provide ordering guarantees, so is
 only rarely an appropriate alternative to compareAndSet.
| Parameters | |
|---|---|
expect | 
        
          V: the expected value | 
      
update | 
        
          V: the new value | 
      
| Returns | |
|---|---|
boolean | 
        true if successful |