Я начинаю с объектно-ориентированного программирования (ООП) и хотел бы знать: что означает сериализация на языке ООП?
Я начинаю с объектно-ориентированного программирования (ООП) и хотел бы знать: что означает сериализация на языке ООП?
Ответы:
Сериализация - это процесс превращения объекта в памяти в поток байтов, чтобы вы могли делать такие вещи, как сохранять его на диске или отправлять по сети.
Десериализация - обратный процесс: превращение потока байтов в объект в памяти.
Marshal
и Unmarshal
являются синонимами Serialize
и Deserialize
.
abc
будет сериализована как 0x61 0x62 0x63
(ASCII) или 0x00 0x61 0x00 0x62 0x00 0x63
(UTF16) - с такими вещами, как терминаторы NUL или закодированные длины, или без них.
Проще говоря, сериализация - это процесс преобразования объекта в поток байтов, чтобы его можно было передавать по сети или хранить в постоянном хранилище.
Десериализация - полная противоположность - извлечение потока байтов из сетевого или постоянного хранилища и преобразование его обратно в объект с тем же состоянием .
Нужно понять, как интерпретировать или манипулировать этим потоком байтов, чтобы мы получили один и тот же объект / одно и то же состояние. Для этого есть разные способы. Некоторые из них -
Serializable interface
и записав его в поток объекта.JSON
с нуля, поскольку я ничего об этом не знаю
Предположим, я разговариваю со своим приятелем по телефону и рассказываю ему о моем новом щенке.
Вот моя проблема: щенок - живое, дышащее млекопитающее. Как мне передать щенка по телефонной линии? Я не могу физически положить своего щенка в телефонную трубку.
Поэтому вместо этого мне нужно будет передать изображение щенка по телефону. Другими словами, я затем сериализую свою собаку Рекс и посылаю ему сериализованную версию Рекса по телефонной линии:
{ "name":"Rex", "age":5, "favourite_food": pedigree_choice_cuts, "favourite_game": fetch_ball, "favourite_hobby": wagging_tail }
Это идеальное представление - сериализация моей собаки.
Сериализация в основном означает превращение моего собачьего Рекса во что-то другое - объект JSON - который затем может быть передан по телефонной линии в виде последовательности 1 и 0. Мой приятель из Нью-Йорка может затем перевести эти 1 и 0 обратно в объект JSON, чтобы у него было идеальное представление о моей собаке Рекс.
Проверьте это, это даст вам хорошее объяснение:
http://en.wikipedia.org/wiki/Serialization
Я думаю, что наиболее распространенное использование термина сериализации связано с преобразованием двоичного объекта в представление XML (или другой строки), чтобы его можно было сохранить в базе данных / файле или отправить по сети при вызове веб-службы. Десериализация - это обратный процесс - преобразование XML / строки обратно в объект.
РЕДАКТИРОВАТЬ: Еще один термин, который вы можете встретить, маршалинг / демаршаллинг. Маршаллинг - это в основном та же концепция, что и сериализация, а демаршаллинг - это то же самое, что десериализация.
Сериализация - это процесс преобразования объекта в поток байтов для хранения объекта или передачи его в память, базу данных или файл. Его основная цель - сохранить состояние объекта, чтобы иметь возможность воссоздать его при необходимости. Обратный процесс называется десериализацией.
...
На этом рисунке показан общий процесс сериализации
...
Посредством сериализации разработчик может выполнять такие действия, как отправка объекта в удаленное приложение с помощью веб-службы, передача объекта из одного домена в другой, передача объекта через брандмауэр в виде строки XML или поддержание безопасности или специфичных для пользователя информация между приложениями
С https://docs.microsoft.com/en-us/dotnet/csharp/programming-guide/concepts/serialization/
(акцент мой)
Сериализация - это процесс преобразования неупорядоченных данных (например, объекта) в серию токенов, которые впоследствии можно использовать для восстановления исходных данных. Сериализованная форма чаще всего представляет собой строку текста, но это не обязательно.
сериализация - это преобразование объекта в хранимую битовую последовательность.
так что вы можете сохранить эту последовательность в файл, БД или отправить по сети.
позже вы можете десериализовать его для реального объекта и использовать его всякий раз, когда захотите.
Веб-сервисы и AJAX являются наиболее распространенным примером сериализации. Объекты сериализуются перед отправкой ответа клиенту.
Сериализация - это не что иное, как передача объекта, поддерживаемого Java, в поддерживаемую форму
(OR)
преобразование формы, поддерживаемой Java, в форму, поддерживаемую сетью. Основная область сериализации - это не что иное, как передача данных с одного уровня на другой уровень ... только сериализованные объекты, которые мы можем отправить по сети.
Сериализация - это процесс преобразования объекта, поддерживаемого Java, C # или любого другого (языки ООП), в переносимую форму. Таким образом, он будет транспортироваться по сети или храниться на диске. Чтобы класс был сериализуемым, он должен реализовывать сериализуемый интерфейс.
Сериализация превращает данные в линейную «строку» байтов.
Другие говорили более или менее то же самое, но я подчеркиваю, что компьютерные модели требуют, чтобы данные помещались в одномерно адресуемую ОЗУ или постоянное хранилище.
Большинство вещей, которые являются «данными», по своей природе сериализуемы (даже если вы должны уменьшить абстрактную модель до линейной); не сериализуемы, скажем, сетевое соединение или сложная основанная на состоянии машина, такая как парсер.
Сериализация связана с преобразованием двоичного объекта в представление XML (или другой строки), чтобы его можно было сохранить в базе данных / файле или отправить по сети при вызове веб-службы. Десериализация - это обратный процесс - преобразование XML / строки обратно в объект.
При создании экземпляра (конструирования) фактического объекта (вещи) из класса (чертежа) необходимо сохранить объект (вещь), сериализовав его (разбив его на его базовую атомную структуру), в пространство в памяти. (Вроде как Star Treks Transporter). Вы разбиваете вещь на поток информации, которую можно куда-то транспортировать и хранить. Затем, когда вы хотите восстановить объект, вы просто возвращаете атомарно сохраненный экземпляр обратно в объект. Отличается от инстанции.
Сериализация - это процесс преобразования объекта в поток двоичных данных, чтобы его можно было сохранить в файле или отправить по сети, где он может быть возвращен к тому же объекту.
Этот документ должен помочь вам понять сериализацию Java в деталях.
Сериализация - это когда объект (кусок памяти) переводится в форму, когда состояние объекта может быть сохранено в файле (в качестве примера).
Просто относитесь к нему как к созданию куки - объект - это тесто, куки - это сериализованное тесто.
Таким образом, путем «сериализации» вы можете отправить куки своему другу.
Что-то такое :-)