The Java Memory Model - The Basics