The Java Language Specification guarantees that “Writes to and reads of references are always atomic, regardless of whether they are implemented as 32-bit or 64-bit values.”
This is from chapter 17, section 17.7 of The Java Language Specification for Java 1.7 SE.
It’s not very common knowledge though this element of Java language specification is there for long time (at least in specification for Java 1.5 SE – this is what I can check on Oracle’s web-page).
For further reading here is some good looking article: Atomic Access and Assignment