Подтвердить что ты не робот

Что такое "сериализованный" объект в программировании?

Я видел термин "сериализованный" на всем протяжении, но никогда не объяснял. Пожалуйста, объясните, что это значит.

4b9b3361

Ответ 1

Сериализация обычно относится к процессу преобразования абстрактного типа данных в поток байтов (иногда вы сериализуете текст, XML или CSV или другие форматы). Важно то, что это простой формат, который можно прочитать/написанный без понимания абстрактных объектов, которые представляют данные). При сохранении данных в файл или передаче по сети вы не можете просто сохранить объект MyClass, вы можете хранить только байты. Таким образом, вам нужно взять все данные, необходимые для восстановления вашего объекта, и превратить их в последовательность байтов, которые могут быть записаны на целевое устройство, и в какой-то более поздней точке читать и десериализовать, восстанавливая ваш объект.

Ответ 2

Сериализация - это процесс принятия экземпляра объекта и преобразования его в формат, в котором он может переноситься по сети или сохраняется в хранилище (например, файл или база данных). Сериализованный формат содержит информацию о состоянии объекта.

Deserialization - это процесс использования сериализованного состояния для восстановления объекта из сериализованного состояния в исходное состояние.

Ответ 3

реальное простое объяснение, сериализация - это акт принятия того, что находится в памяти, как экземпляр класса (объекта) и преобразования в структуру, подходящую для транспорта или хранения.

Общим примером является сериализация XML для использования в веб-сервисах. У меня есть экземпляр класса на сервере и вам необходимо отправить его через веб-интерфейс. Сначала я сериализую его в xml, что означает создание xml-версии что данные в классе, один раз в xml, я могу использовать транспорт, такой как HTTP, чтобы его легко отправить.

Существует несколько форм сериализации, таких как XML или JSON.

Ответ 4

Существуют два (по крайней мере) два значения для сериализации. Один из них превращает структуру данных в память в поток бит, поэтому ее можно записать на диск и восстановить позже или передать по сетевому соединению и использовать на другой машине и т.д.

Другое значение относится к последовательному или параллельному исполнению, т.е. к тому, что только один поток выполнения выполняет что-то за раз. Например, если вы собираетесь читать, изменять и записывать переменную, вам необходимо убедиться, что один поток завершает последовательность чтения, изменения и записи, прежде чем другой сможет ее запустить.

Ответ 5

Что они сказали. Слово "серийный" относится к тому факту, что байты данных должны быть помещены в некоторый стандартизованный порядок, который должен быть записан на последовательное запоминающее устройство, например поток вывода файла или последовательную шину. На практике сырые байты редко бывают достаточными. Например, адрес памяти из программы, которая сериализует структуру данных, может быть недопустимой в программе, которая восстанавливает объект из сохраненных данных. Поэтому требуется протокол. На протяжении многих лет было много, множество стандартов и реализаций. Я помню один из середины 80 по имени XDR, но это был не первый.

Ответ 6

  • У вас есть данные в определенном формате (например, список, карта, объект и т.д.).
  • Вы хотите передать эти данные (например, через вызов API или функции)
  • Транспортные средства поддерживают только определенные типы данных (например, JSON, XML и т.д.).
  • Сериализация. Вы конвертируете существующие данные в поддерживаемый тип данных, чтобы их можно было переносить.

Ключ в том, что вам необходимо транспортировать данные и средства, с помощью которых вы переносите только определенные форматы. Ваш текущий формат данных не разрешен, поэтому вы должны "сериализовать" его. Следовательно, как ответил Митч:

Сериализация - это процесс принятия экземпляра объекта и преобразования его в формат, в котором он может быть перенесен.