Как переопределение методов readObject () и writeObject () в сериализуемом интерфейсе находит свое применение в реальной разработке? - PullRequest
0 голосов
/ 16 июня 2020

Итак, я изучал сериализацию и узнал, что у нас есть возможность переопределять вышеуказанные методы. Мне было интересно, как я могу ее использовать? Одна идея, которая пришла мне в голову, - это, возможно, шифрование и дешифрование данных во время записи и чтения, но я не уверен, как это находит свое применение. Как разработчик, как бы вы его использовали?

1 Ответ

0 голосов
/ 16 июня 2020

Итак, при дальнейших исследованиях я обнаружил применение переопределения методов readObject () и writeObject () в интерфейсе сериализации, которое находит существенное применение в Android Развитие из-за накладных расходов на производительность.

Итак, интерфейс Serializable в JAVA внутренне использует отражение для сериализации объектов. Отражение приводит к созданию большого количества объектов и, следовательно, имеет большие накладные расходы на производительность. Но если данные методы переопределены, чтобы минимизировать затраты на сборку мусора, сериализация чтения и записи может выполняться значительно быстрее.

Для Например, Android позволяет реализовать интерфейс Parcelable , который пытается избавиться от Reflection . Как и ожидалось, он работает значительно лучше в реализации методов по умолчанию, но это наблюдается. что переопределение методов readObject () и writeObject () делает его значительно быстрее, чем методы по умолчанию.

Ссылка: Parcelable vs Serializable

...