Java дважды проверил блокировку

Я случайно наткнулся на статью, в которой недавно обсуждался шаблон блокировки с двойной проверкой в Java и его подводные камни, и теперь ямне интересно, если вариант того шаблона, который яЯ использую в течение многих лет, может возникнуть какие-либо проблемы.

Я просмотрел много постов и статей на эту тему и понял потенциальные проблемы с получением ссылки на частично построенный объект, и, насколько я могу судить, я несчитать моя реализация зависит от этих вопросов. Есть ли проблемы со следующей схемой?

И если нет, то почемут люди используют это? Я'я никогда не видел его рекомендованным ни в одном из обсуждений, которые явидел вокруг этого вопроса.

public class Test {
    private static Test instance;
    private static boolean initialized = false;

    public static Test getInstance() {
        if (!initialized) {
            synchronized (Test.class) {
                if (!initialized) {
                    instance = new Test();
                    initialized = true;
                }
            }
        }
        return instance;
    }
}

Ответы на вопрос(11)

Ваш ответ на вопрос