Characterizations for Java memory behavior
Alex Gontmakher, Assaf Schuster · 2002
We provide non-operational characterizations of Java memory consistency model (Java Consistency, or simply Java). The work is based on the operational definition of the Java memory consistency as given in the Java Language Specification. We study the relation of Java memory behavior to that of some well known models, proving that Java is incomparable with PRAM Consistency and with both variants of Processor Consistency; it is neither stronger nor weaker. We show that a programmer can rely on Coherence and a certain variant of Causality for regular variables. Sequential Consistency for volatile variables, and Release Consistency when locks are employed.