Core Concepts of the Java Memory Model (JMM)