В первом подходе ваш синглтон будет создан после загрузки класса Singleton
. В другом случае он будет создан после вызова метода getInstance()
. Singleton
класс может иметь много причин для загрузки, прежде чем вы назовете getInstance
. Таким образом, вы, скорее всего, инициализируете его намного раньше, когда вы его используете, и это побеждает цель ленивой инициализации. Если вам нужна ленивая инициализация, это отдельная история.