Правильно ли я понимаю, что блок статической инициализации thread-safe, то есть выполняется JVM априори в synchronized режиме?
public class OurPresident {
    private static OurPresident president;
    static {synchronized (OurPresident.class){
        president=new OurPresident();}
    }

    private OurPresident() {
    }

    public static OurPresident getOurPresident() {
        return president;
    }
}