Hi,
Welcome to JavaRanch!
Reads and writes to reference variables, as well as to all variables of four bytes or fewer are guaranteed by the
Java language spec to be atomic -- in other words, no other
thread will see such a variable in a partially-assigned state. The same is not true for 8-byte variables of types double and long.
There are other issues besides consistency to consider; in the absence of synchronization, if one thread writes to a variable, others may not immediately see the new value, but will continue to see the old.