Does object construction guarantee in practice that all threads see non-final fields initialized?
问题 The Java memory model guarantees a happens-before relationship between an object's construction and finalizer: There is a happens-before edge from the end of a constructor of an object to the start of a finalizer (§12.6) for that object. As well as the constructor and the initialization of final fields: An object is considered to be completely initialized when its constructor finishes. A thread that can only see a reference to an object after that object has been completely initialized is