Государственный


Сериализация/десериализация



бет13/25
Дата05.04.2024
өлшемі4.07 Mb.
#497748
1   ...   9   10   11   12   13   14   15   16   ...   25
Java. Потоки ввода-вывода. Работа с файлами. Кравчук А.С., Кравчук А.И., Кремень Е.В

Сериализация/десериализация


Сериализация (в программировании) - процесс перевода какой-либо структуры данных в последовательность битов для хранения. Обратной к операции сериализации является операция десериализации (структуризации) - восстановление начального состояния структуры данных из битовой последовательности.
Сериализация предшествует записи состояния объекта в поток, соответственно десериализация проводится в процессе извлечения или восстановления состояния объекта из потока.
Предположим, у разработчика есть сложная иерархия классов, в каждом из которых с десяток полей. Некоторые поля ссылаются на объекты других классов или, того хуже, содержат коллекции объектов. При использовании сериализатора, вам достаточно одной инструкции для сохранения словаря, содержащего объекты из этой иерархии, в файл.
Сериализация при работе с файлами – это простейший пример. Она необходима при передаче сложно-структурированных данных куда-либо (т.е. использования любых потоков).
Если же не пользоваться сериализацией, то будет необходимо писать длинный и сложный код для ручного сохранения всего этого изобилия в файл, то в итоге получится объемный и сложный код.
Поэтому сериализация не только очень удобна, но и позволяет значительно упростить разработку программы, когда идет работа со сложными объектами.
Дополнительным плюсом сериализации является сохранение кроссплатформенности. Не зависимо от типа операционной системы, сериализация переводит объект в поток байтов. Поэтому можно сериализовать объект на компьютере с одной ОС, а восстановить его, или десериализовать, совершенно на другом компьютере с другой ОС. Кроме того, если необходимо передать объект по сети, то можно сериализовать объект, сохранить его в файл и передать по сети получателю. А получатель сможет восстановить полученный объект.

Интерфейс Serializable


Сразу надо сказать, что сериализовать можно только те объекты, которые реализуют интерфейс Serializable. Этот интерфейс не определяет никаких методов, просто он служит указателем системе, что объект класса, реализующий его, может быть сериализован.




Достарыңызбен бөлісу:
1   ...   9   10   11   12   13   14   15   16   ...   25




©dereksiz.org 2024
әкімшілігінің қараңыз

    Басты бет