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

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

Что такое сериализуемый объект в С#? Я предполагаю, что слово serializable бросает меня больше, чем "сериализуемый объект".

4b9b3361

Ответ 1

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

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

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

  • Часто формат, хранящийся в памяти в памяти, является запатентованным и, следовательно, непригоден для общественного потребления - способ, которым он хранится в памяти, оптимизирован для использования в памяти.
  • Когда объект ссылается на другие объекты, эти ссылки имеют смысл только в контексте запущенного приложения. Невозможно было бы десериализовать объект значимо, если только в процессе сериализации графа объектов не проходили и не сериализовались соответственно. Возможно, потребуется перевести эти ссылки в форму, которая имеет смысл вне контекста экземпляра приложения.
  • Между гетерогенными системами может быть требование взаимодействия, и в этом случае требуется стандартное средство для представления объекта (обычно для этого выбирается какая-то форма XML).

Ответ 2

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

Ответ 3

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

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

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

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

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

Ответ 4

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

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

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

Ответ 6

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

Ответ 7

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

Простым способом сериализации мы можем сжимать и распаковывать данные и передавать данные по сети безопасным способом.

Сериализация объектов - это то, что объясняет ljuwaidah. Попробуйте эту ссылку. текст ссылки

Ответ 8

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

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

Ответ 9

Поскольку Java является независимой от платформы и она была изобретена для целей безопасности, все возможно в виде бит. Например, мы, как пользователь, вполне понимаем алфавиты, но было бы трудно запомнить биты этих алфавитов, или мы можем сказать в этой строке языка Java. Поэтому для обеспечения безопасности в сети мы используем объекты. Поскольку сообщения связаны с потерей связи, для обеспечения безопасности мы используем объекты для отправки или получения сообщений с сервера или с клиента. Поэтому, поскольку мы используем объекты, объекты должны быть сериализуемыми, они должны быть в форме бит, которые могут быть легко поняты машиной. В частности, для отправки и получения сообщения используется JMS (служба сообщений Java). Например, один компьютер, находящийся в Индии, может захотеть установить связь с другим компьютером, который находится в США в то время, используется служба JMS.

Короче говоря, сериализация означает преобразование строк в биты.

С помощью этого мы можем создавать Java-программы, такие как отправка писем и получение, как почтовое приложение на основе протокола SMTP (Simple Mail Transfer Protocol).