V - The type of object referred to by this referencepublic class AtomicReference<V> extends Object implements Serializable
java.util.concurrent.atomic package specification for description
 of the properties of atomic variables.| Constructor and Description | 
|---|
| AtomicReference()Creates a new AtomicReference with null initial value. | 
| AtomicReference(V initialValue)Creates a new AtomicReference with the given initial value. | 
| Modifier and Type | Method and Description | 
|---|---|
| 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. | 
| boolean | compareAndSet(V expect,
             V update)Atomically sets the value to the given updated value
 if the current value  ==the expected value. | 
| V | get()Gets the current value. | 
| 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. | 
| V | getAndSet(V newValue)Atomically sets to the given value and returns the old value. | 
| V | getAndUpdate(UnaryOperator<V> updateFunction)Atomically updates the current value with the results of
 applying the given function, returning the previous value. | 
| void | lazySet(V newValue)Eventually sets to the given value. | 
| void | set(V newValue)Sets to the given value. | 
| String | toString()Returns the String representation of the current value. | 
| V | updateAndGet(UnaryOperator<V> updateFunction)Atomically updates the current value with the results of
 applying the given function, returning the updated value. | 
| boolean | weakCompareAndSet(V expect,
                 V update)Atomically sets the value to the given updated value
 if the current value  ==the expected value. | 
public AtomicReference(V initialValue)
initialValue - the initial valuepublic AtomicReference()
public final V get()
public final void set(V newValue)
newValue - the new valuepublic final void lazySet(V newValue)
newValue - the new valuepublic final boolean compareAndSet(V expect, V update)
== the expected value.expect - the expected valueupdate - the new valuetrue if successful. False return indicates that
 the actual value was not equal to the expected value.public final boolean weakCompareAndSet(V expect, V update)
== the expected value.
 May fail
 spuriously and does not provide ordering guarantees, so is
 only rarely an appropriate alternative to compareAndSet.
expect - the expected valueupdate - the new valuetrue if successfulpublic final V getAndSet(V newValue)
newValue - the new valuepublic final V getAndUpdate(UnaryOperator<V> updateFunction)
updateFunction - a side-effect-free functionpublic final V updateAndGet(UnaryOperator<V> updateFunction)
updateFunction - a side-effect-free functionpublic final V getAndAccumulate(V x, BinaryOperator<V> accumulatorFunction)
x - the update valueaccumulatorFunction - a side-effect-free function of two argumentspublic final V accumulateAndGet(V x, BinaryOperator<V> accumulatorFunction)
x - the update valueaccumulatorFunction - a side-effect-free function of two arguments Submit a bug or feature 
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
 Copyright © 1993, 2023, Oracle and/or its affiliates.  All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.