¿Cuál es el uso del bloque sincronizado dentro del constructor?

No podemos hacer constructor.synchronized pero puede escribirsynchronized Este constructor interior. ¿En qué caso vendrá tal exigencia? Estoy impresionado.

package com.simple;
public class Test {
    public Test() {
        synchronized (this) {
            System.out.println("I am called ...");
        }
    }

    public static void main(String[] args) {
        Test test=new Test();   
        System.out.println(""+test);
    }

    @Override
    public String toString() {
        return "Test []";
    }
}

Respuestas a la pregunta(6)

Su respuesta a la pregunta