Что сериализуемым является объект?

За пределами аппаратных инноваций я склонен находить, что существует мало или ничто нового под солнцем. Большинство действительно больших идей относится ко времени людей как von Neumann и Alan Turing.

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

19
задан Sinan Ünür 20 August 2009 в 04:32
поделиться

8 ответов

Обычно объекты имеют произвольный доступ , то есть вы можете указать любую часть объекта (свойство или поле) и получить доступ к этой части напрямую. Это все хорошо, если вы используете RAM для хранения объекта, потому что RAM - это R andom A cess M emory и, следовательно, подходит для этой работы. .

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

Почему бы просто не скопировать биты, составляющие объект в ОЗУ, на диск или не отправить его в виде непрозрачного блоба по сети? ... спросите вы. Несколько проблем:

  1. Часто формат, в котором объект хранится в памяти, является проприетарным и поэтому не подходит для публичного использования - способ, которым он хранится в памяти, оптимизирован для использования в памяти.
  2. Когда объект объект ссылается на другие объекты, эти ссылки имеют значение только в контексте работающего приложения. Было бы невозможно осмысленно десериализовать объект, если во время процесса сериализации граф объекта не был пройден и сериализован соответствующим образом. Может возникнуть необходимость перевести эти ссылки в форму, которая имеет значение вне контекста экземпляра приложения .
  3. Может существовать требование взаимодействия между гетерогенными системами, и в этом случае стандартные средства представления объект является обязательным (обычно для этого выбирается какая-либо форма XML).
28
ответ дан 30 November 2019 в 03:12
поделиться

Объект, который можно преобразовать в биты и сохранить на носителе, таком как жесткий диск. http://en.wikipedia.org/wiki/Serialization

6
ответ дан 30 November 2019 в 03:12
поделиться

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

В большинстве (C # и Java) сериализуемый объект «помечен». В Java вам нужно реализовать Serializable. В C # вам нужно использовать [Serializable].

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

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

Одно из его применений - сохранение игры.

3
ответ дан 30 November 2019 в 03:12
поделиться

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

1
ответ дан 30 November 2019 в 03:12
поделиться

Вы можете пометить объект как [сериализуемый] в C #, что означает, что он может быть преобразован в двоичный , SOAP, XML, в любом случае .net.

Прелесть этого заключается в том, что вы можете сериализовать объект, отправить его через Интернет, сеть и т. Д., А затем восстановить его на другой стороне как объект снова. Затем это может пересекать машинные границы, такие как машина Windows на машину Unix, пока компьютер на другой стороне может читать данные и десериализовать их.

См. Эту статью: http://www.devhood.com/Tutorials/tutorial_details.aspx?tutorial_id=236

1
ответ дан 30 November 2019 в 03:12
поделиться

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

Например, сериализация графа (например, графа RDF, известного из «семантической сети») в формат сериализации, такой как XML, означает, что должен быть набор правил, определяющий, как упорядочить информацию, содержащуюся в графе, чтобы позже ее можно было восстановить, применив правило обратной сериализации (десериализацию).

1
ответ дан 30 November 2019 в 03:12
поделиться

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

Простым способом сериализации, позволяющим сжимать и распаковывать данные, а также безопасно передавать данные по сети. Лювайда объяснил

сериализацию объектов. Попробуйте также эту ссылку текст ссылки

1
ответ дан 30 November 2019 в 03:12
поделиться
Другие вопросы по тегам:

Похожие вопросы: