Java theory and practice: Building a better HashMap: "According to the JLS, 'In the absence of explicit synchronization, an implementation is free to update the main memory in an order that may be surprising.' This means that without synchronization, writes that occur in one order in a given thread may appear to occur in a different order to a different thread, and that updates to memory variables may take an unspecified time to propagate from one thread to another."