Идея, по-видимому, заключается в том, что создание экземпляра синглтона может быть дорогостоящим, поэтому, если это делается рано (и, возможно, для многих синглетонов), это может привести к длительной паузе при запуске приложения, тогда как ленивая инсталяция распространяет задержки и может полностью их избежать, если не всегда нужен синглтон.
Это действительно проблема для значительного числа приложений? Я совершенно уверен, что это не так, и количество постов в блогах и вопросов о ленивых экземплярах синглетонов совершенно несоизмеримо с его практической полезностью. Я также уверен, что все это внимание создало у многих людей впечатление, что именно так должны быть реализованы синглтоны, и заставило их выбирать неоправданно сложное решение в тех местах, где прямолинейный, полужестко созданный экземпляр Синглтона был бы совершенно нормальным.
Так почему же этому вопросу уделяется так много внимания? Я подозреваю, что это отчасти тот факт, что он иллюстрирует некоторые тонкости модели памяти Java, которые имеют отношение к параллельному коду в целом, и частично является игрой smartassery.