На днях Howard Lewis Ship опубликовал запись в блоге под названием "Что я узнал в Hacker Bed and Breakfast" , одним из пунктов является
Поле экземпляра Java, которое назначается ровно один раз через ленивый инициализация не должна быть синхронизирована или нестабильной (так долго так как вы можете принять условия гонки по потокам, чтобы назначить поле); это от богатого хикки
На первый взгляд это противоречит принятой мудрости о видимости изменений в памяти по потокам, и если это описано в книге Java Concurrency в Практике или в спецификации языка Java, я пропустил ее, Но это было что-то, что ХСЛ получила от Рика Хики на мероприятии, где присутствовал Брайан Гетц, так что, похоже, что-то должно быть что-то. Может ли кто-нибудь объяснить логику этого заявления?