This set of excerpts from section 2.2 includes the main discussions on how the Java Memory Model impacts concurrent programming. For information about ongoing work on the memory model, see Bill Pugh's Java Memory Model pages. Consider the tiny class, defined without any synchronization: final class SetCheck { private int a = 0; private long b = 0; void set() { a = 1; b = -1; } boolean check() { re