Как реализовать поточную безопасную ленивую инициализацию?

Каковы некоторые рекомендуемые подходы к достижениюпотокобезопасной ленивая инициализация? Например,

// Not thread-safe
public Foo getInstance(){
    if(INSTANCE == null){
        INSTANCE = new Foo();
    }

    return INSTANCE;
}

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

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