Implementing Thread-Safe Singletons with Java AtomicReference and Java Volatile Variables.
Follow
This video shows several ways to implement the Singleton pattern via a Java AtomicReference and a Java volatile variable (via the DoubleChecked Locking pattern).