Что такое сериализация?

java oop serialization marshalling

47925 просмотра

14 ответа

0 Репутация автора

Я начинаю с программирования ООП и хотел бы знать, в чем смысл сериализации на языке ООП?

Автор: edward Источник Размещён: 11.03.2009 05:03

Ответы (14)


14 плюса

57113 Репутация автора

Проверьте это, это даст вам хорошее объяснение:

http://en.wikipedia.org/wiki/Serialization

Я думаю, что наиболее распространенное использование термина «сериализация» связано с преобразованием двоичного объекта в представление XML (или другой строки), чтобы его можно было хранить в базе данных / файле или отправлять по сети в вызове веб-службы. Десериализация - это обратный процесс - преобразование XML / строки обратно в объект.

EDIT: Еще один термин, который вы можете встретить, - это сортировка / разборки. Маршаллинг - это в основном та же концепция, что и сериализация, а unmarshalling - это то же самое, что и десериализация.

Автор: Andy White Размещён: 11.03.2009 05:06

96 плюса

3389 Репутация автора

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

Deserialization - это обратный процесс: превращение потока байтов в объект в памяти.

Автор: Andrew Barnett Размещён: 11.03.2009 05:06

1 плюс

115 Репутация автора

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

Просто рассматривайте его как создание файлов cookie - объект - это тесто, cookie - это сериализованное тесто.

Таким образом, путем «сериализации» вы можете отправлять cookie своему другу.

Что-то вроде того :-)

Автор: Mr.ElectroNick Размещён: 11.03.2009 05:07

2 плюса

40598 Репутация автора

сериализация преобразует объект в сохраняемую последовательность бит.

поэтому вы можете сохранить эту последовательность в файл, db или отправить по сети.

позже вы можете десериализовать его на фактический объект и повторно использовать его, когда захотите.

Веб-службы и AJAX являются наиболее распространенным примером сериализации. Объекты сериализованы перед отправкой ответа клиенту.

Автор: Canavar Размещён: 11.03.2009 05:10

0 плюса

1077 Репутация автора

Сериализация превращает данные в линейную «строку» байтов.

Другие говорили более или менее то же самое, но я подчеркиваю, что компьютерные модели требуют, чтобы данные вписывались в одномерное ОЗУ или постоянное хранилище.

Большинство вещей, которые являются «данными», по своей сути сериализуемы (даже если вы должны уменьшить абстрактную модель до линейной); не сериализуемые, скажем, сетевое соединение или сложная машина на основе состояний, такая как парсер.

Автор: Overflown Размещён: 11.03.2009 06:55

0 плюса

1 Репутация автора

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

Автор: viswanathan Размещён: 26.02.2010 10:32

5 плюса

35780 Репутация автора

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

Автор: Dave Sherohman Размещён: 26.02.2010 11:12

2 плюса

29 Репутация автора

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

                         (OR)

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

Автор: sriiii Размещён: 08.11.2012 10:12

0 плюса

111 Репутация автора

При создании (построении) фактического объекта (вещи) из класса (чертежа) необходимо сохранить объект (предмет), сериализируя его (разбивая его на основную атомную структуру) на пространство в памяти. (Вид вроде Transporter Star Treks). Вы разрушаете это в поток информации, который можно где-то транспортировать и хранить. Затем, когда вы хотите восстановить вещь, вы просто вытащите атомно сохраненный экземпляр обратно в объект. В отличие от instaniation.

Автор: David K Hill Размещён: 24.12.2013 10:35

56 плюса

39989 Репутация автора

Проще говоря, сериализация - это процесс преобразования объекта в поток байтов, чтобы он мог быть transferred over a network or stored in a persistent storage.

Дезервация является абсолютно противоположной. Извлеките поток байтов из хранилища сети или сохранения и преобразуйте его обратно в объект с тем же состоянием .

Единственное, что нужно понять сейчас, - это интерпретировать или манипулировать этим потоком байтов, чтобы мы получили то же самое Object / same state. Существуют различные способы достижения этого. Некоторые из них -

  1. XML : конвертировать объект в XML, передавать его по сети или хранить в файле / db. Извлеките его и верните обратно к объекту с таким же состоянием. В Java мы используем библиотеку JAXB (Java-архитектура для привязки XML). (Из java 6 поставляется в комплекте с JDK).
  2. JSON : То же самое можно сделать путем преобразования объекта в JSON (обозначение объекта Javascript). Снова есть библиотека GSON, которая может быть использована для этого.
  3. Или мы можем использовать сериализацию, предоставляемую самим языком ООП. Напр. в Java вы можете сериализовать объект, который он реализует Serializable interfaceи записывает в Object Stream.
Автор: Aniket Thakur Размещён: 30.08.2014 06:36

0 плюса

1003 Репутация автора

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

Этот документ должен помочь вам подробно понять сериализацию Java.

Автор: Nikhil Katre Размещён: 29.07.2016 02:26

1 плюс

510 Репутация автора

Сериализация - это процесс преобразования поддерживаемого объекта Java, C # или любого другого (OOP-языков) в переносимую форму. Таким образом, он переносится по сети или сохраняется на диске. Для того, чтобы класс был сериализуемым, он должен реализовывать сериализуемый интерфейс.

Автор: Nesan Mano Размещён: 23.09.2017 01:48

13 плюса

10138 Репутация автора

Объяснение через изображение:

Рекс, моя собака, сериализуется!

Объяснение по аналогии:

Предположим, я разговариваю с моим приятелем по телефону, и я рассказываю ему о моем новом щенке.

Вот моя проблема: щенок - живое, дыхательное млекопитающее. Как я должен передать щенка по телефонной линии? Я не могу физически помещать щенка в трубку.

Поэтому вместо этого мне придется передать представление щенка по телефону. Другими словами, я затем сериализую свою собаку Рекса, и я посылаю ему сериализованную версию Rex по телефонной линии:

{ "name":"Rex", "age":5, "favourite_food": pedigree_choice_cuts, "favourite_game": fetch_ball, "favourite_hobby": wagging_tail }

Это идеальное представление - сериализация моей собаки.

Стандарт SO Объяснение:

Сериализация в основном означает преобразование моей собаки Рекса во что-то другое - объект JSON, который затем может быть перенесен по телефонной линии в виде серии из 1 и 0. Мой приятель в Нью-Йорке может затем перевести эти 1 и 0 обратно в объект JSON, чтобы у него было идеальное представление о моей собаке Рекс. Просто!

Автор: BKSpurgeon Размещён: 01.02.2018 01:25

3 плюса

361 Репутация автора

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

На этой диаграмме показан общий процесс сериализации.

На этой диаграмме показан общий процесс сериализации.

Благодаря сериализации разработчик может выполнять такие действия, как отправка объекта в удаленное приложение с помощью веб-службы, передача объекта из одного домена в другой, передача объекта через брандмауэр в виде строки JSON / XML или сохранение безопасности или пользователя -специальная информация по всем приложениям.

Для получения дополнительной информации проверьте это .

Автор: Chamin Wickramarathna Размещён: 01.02.2018 05:47
Вопросы из категории :
32x32