Manson J, Pugh W, Adve SV.  2005.  The Java memory model. Proceedings of the 32nd ACM SIGPLAN-SIGACT symposium on Principles of programming languages. :378-391.