JavaZone 2011 - The Java Memory Model

With the increasing availability and use of multicore processors Java developers need to acquire some understanding of the Java memory model. This is because multithread applications that work nicely on a single-core processor might exhibit "inexplicable" deficiencies when running on a multicore processor platform. The reason may be differences in the caching strategies applied by different processors. In order to illustrate the issues this tutorial explains the Java features for multithread programming. Key topics include: memory model, visibility and reordering issues, volatile and atomic variables, initialisation safety and final fields, lock-free programming.
Angelika Langer

Angelika Langer

Bio: Angelika Langer works as an independent trainer with a curriculum of Java and C++ courses. She enjoys speaking at conferences all over the world, including JavaOne, OOPLSA, JAX and ACCU to name a few. Her teaching focuses on advanced C++ and Java programming, concurrency, and performance tuning. She is coƤauthor of a column named "Effective Java" published in the German magazine JavaMagazin and author of the Java Generics FAQs online. Further information can be found at http://www.AngelikaLanger.com.