Перейти к содержимому
шпаргалка.
Esc
навигацияоткрыть⌘Jпредпросмотр
На этой странице

Влияние модификаторов

Все темы Java Developer

Какое влияние оказывают на сериализуемость модификаторы полей static и final

Модификатор static :

Поля static не сериализуются, поскольку они принадлежат классу, а не конкретному экземпляру объекта.

Модификатор final :

Поля final сериализуются как обычно. Их значение сохраняется при сериализации и восстанавливается при десериализации.


В чем проблема сериализации Singleton?

Проблема сериализации Singleton в том, что при десериализации создается новый экземпляр класса, что нарушает принцип единственности экземпляра. Чтобы избежать этого, нужно реализовать метод readResolve, который возвращает существующий экземпляр.

Пример:
private Object readResolve() throws ObjectStreamException {
    return getInstance();
}

Это гарантирует, что при десериализации будет возвращен единственный экземпляр Singleton.

Эта страница была полезной?