> This is an important issue to address. I know a lot of people here >> probably don't participate on the Concurrency-interest mailing list that >> has a wide range of discussion about the JLS vs the JMM and what the JIT >> compilers actually do to code these days. >> > ... > > I used to be a concurrency expert, but have not been following the topic > recently. For practical Java coding, I have tended to follow the ideas > in Java Concurrency in Practice. Do any of the changes invalidate that > approach? > > No, they don't. The JMM hasn't really changed since the work Doug Lea did for Java 5 and beyond. What has changed over time is the amount typical JITs exploit the opportunities presented by the JMM for aggressive instruction re-ordering etc.
If your code "does the right things" it'll be fine. It just potentially runs better (it could actually run worse in some cases). If you've misunderstood JMM or how it relates to JLS then you may have problems.