4. Как изменить стандартное поведение сериализации/десериализации?

4. Как изменить стандартное поведение сериализации/десериализации?

UNKNOWN

Реализовать интерфейс Java.io.Externalizable, который позволяет применение пользовательской логики сериализации. Способ сериализации и десериализации описывается в методах writeExternal() и readExternal().

Во время десериализации вызывается конструктор без параметров, а потом уже на созданном объекте вызывается метод readExternal.

Для «мегакастомной» сериализации. Не пишется мета-информация и инфа о суперклассах.

Если у сериализуемого объекта реализован один из следующих методов, то механизм сериализации будет использовать его, а не метод по умолчанию :

writeObject() - запись объекта в поток;

readObject() - чтение объекта из потока;

writeReplace() - позволяет заменить себя экземпляром другого класса перед записью;

readResolve() - позволяет заменить на себя другой объект после чтения


Предыдущий вопрос: 3. Опишите процесс сериализации/десериализации с использованием Serializable.

Следующий вопрос: 5. Какие поля не будут сериализованы при сериализации? Будет ли сериализовано final поле?

Все вопросы по теме: список

Все темы: список

Вопросы/замечания/предложения/нашли ошибку: напишите мне

Report Page