Я читаю wiki об одноэлементном шаблоне, и я не уверен, насколько я это понимаю: https://en.wikipedia.org/wiki/Initialization-on-demand_holder_idiom его часть.
Итак, чтобы сделать его простым: Почему решение Билла Пью лучше, чем пример выше?
Это потому, что статический класс не является загрузкой виртуальной машины до ее фактического использования или что-то вроде этого, поэтому мы не создаем объект, прежде чем переходить к методу getInstance()? Кроме того, этот метод защищен только до степени инициализации объекта?