Cинглтон
это класс, который может иметь только один экземпляр. То есть другой экземпляр этого класса невозможно создать.
Если мы сериализуем этот экземпляр, а потом десериализуем, то получим уже второй экземпляр синглтона, что противоречит идее синглтона.
Чтобы десериализовался тот же экземпляр нужно определить метод re
adResolve
.
Пример программы:
Вывод:

Как видим, instance1 и instance2 возвращают один и тот же hashCode, что значит, что это один и тот же экземпляр, что значит, что концепция синглтона не нарушается.
Table of Contents
Управляемая сериализация в Java: Externalizable
Как сериализовать объекты с классами, не реализующими Serializable. Используем Externalizable для ручного управления процессом в Java.
Time to read: 10
Базы данных: основные принципы
Основы реляционных баз данных: таблицы, атрибуты и кортежи. Как хранить данные эффективно и избегать избыточности. Пример таблиц.
Time to read: 13
Связь Один-ко-Многим в базах данных
Узнайте, как правильно организовать связь один-ко-многим в реляционных базах данных. Примеры таблиц, устранение дублирования данных.
Time to read: 14