Escrituras fuera de orden para el bloqueo de doble comprobación

En los ejemplos mencionados para escrituras fuera de orden para escenarios de bloqueo con doble verificación (ref:Artículo de IBM & Artículo de Wikipedia)

No pude entender la simple razón de por qué Thread1 saldría de un bloque sincronizado antes de que el constructor se inicialice por completo. Según mi entendimiento, la creación de "nuevo" y el constructor que llama debe ejecutarse en secuencia y el bloqueo sincronizado no debe liberarse hasta que no se complete todo el trabajo.

Por favor, déjame saber lo que me estoy perdiendo aquí.

Respuestas a la pregunta(4)

Su respuesta a la pregunta