AtomicReference is overkill, volatile would be good enough for this purpose. Just make sure to build the map first in a local variable and then assign to volatile member. Memory barrier around the volatile will ensure ordering.