Какво е мързелива инициализация в Singleton?
Какво е мързелива инициализация в Singleton?

Видео: Какво е мързелива инициализация в Singleton?

Видео: Какво е мързелива инициализация в Singleton?
Видео: Любовь и голуби (FullHD, комедия, реж. Владимир Меньшов, 1984 г.) 2024, Може
Anonim

Мързелива инициализация е техника, при която човек отлага инстанциране на обект до първото му използване. С други думи, екземплярът на клас се създава, когато се изисква да се използва за първи път. Идеята зад това е да се избегне ненужното създаване на инстанции.

Оттук нататък какво е мързелива инициализация в Java?

Мързелива инициализация е оптимизация на производителността. Използва се, когато данните се считат за „скъпи“по някаква причина. Например: ако стойността на hashCode за обект може действително да не е необходима от неговия повикващ, винаги изчисляването на hashCode за всички екземпляри на обекта може да се почувства като ненужно.

Човек може също да попита, как се счупи сингълтон? Сериализацията се използва за преобразуване на обект от байтов поток и записване във файл или изпращане по мрежа. Да предположим, че сериализирате обект от a сингълтън клас. След това, ако десериализирате този обект, той ще създаде нов екземпляр и следователно прекъсване на сингълтън модел.

Следователно, какво е мързелива и нетърпелива инициализация?

Мързелива инициализация е техника, в която ограничаваме създаването на обект до създаването му от кода на приложението. По друг начин нетърпелива инициализация създава обекта предварително и веднага след стартиране на приложението или модула. Това е полезно в случай, че обектът е задължителен и във всички случаи е функционален.

Каква е употребата на сингълтон клас?

В Java Сингълтън модел ще гарантира, че има само един екземпляр на a клас се създава във виртуалната машина на Java. то е използван за осигуряване на глобална точка за достъп до обекта. От практическа гледна точка използвайте Singleton модели са използван в регистриране, кешове, пулове на нишки, настройки за конфигурация, обекти на драйвери на устройства.

Препоръчано: