What the [Java memory model] does require is Coherence [ref]. Informally, for each variable in isolation, the uses and assigns … that respects the order within each thread (i.e., … [Consider variables that] might be aliased, but are not definitely … One way to think of it is that … write by another thread, it must be treated … [thus, preventing reuse of previously accessed values].
Google-1
Google-2
Copyright clearance needed for quotation.