За пределами аппаратных инноваций я склонен находить, что существует мало или ничто нового под солнцем. Большинство действительно больших идей относится ко времени людей как von Neumann и Alan Turing.
Большим количеством вещей, которые маркированы 'технология' в эти дни, является действительно просто программа или библиотека, которую кто-то записал, или восстановленный протектор старой идеи с новой метафорой, акронимом или торговой маркой.
Обычно объекты имеют произвольный доступ , то есть вы можете указать любую часть объекта (свойство или поле) и получить доступ к этой части напрямую. Это все хорошо, если вы используете RAM для хранения объекта, потому что RAM - это R andom A cess M emory и, следовательно, подходит для этой работы. .
Когда вам нужно сохранить свой объект на носителе, который не является традиционно произвольным доступом, например, диск , или вам нужно передать объект через поток носитель (например, как сеть), то объект необходимо преобразовать в форму, подходящую для соответствующей среды. Этот процесс преобразования называется сериализацией , потому что структурированный объект сглаживается или сериализуется, сделать его более удобным для хранения в течение длительного времени или для передачи по сети.
Почему бы просто не скопировать биты, составляющие объект в ОЗУ, на диск или не отправить его в виде непрозрачного блоба по сети? ... спросите вы. Несколько проблем:
Объект, который можно преобразовать в биты и сохранить на носителе, таком как жесткий диск. http://en.wikipedia.org/wiki/Serialization
Сериализация объекта сохраняет состояние экземпляра, чтобы вы могли восстановить этот экземпляр позже.
В большинстве (C # и Java) сериализуемый объект «помечен». В Java вам нужно реализовать Serializable. В C # вам нужно использовать [Serializable].
После сериализации объекта вы можете сохранить его в файле или отправить по сети.
Думайте об этом, как о просмотре каждой переменной экземпляра и сохранении ее значение, разделенное каким-то разделителем (хотя это намного сложнее; подумайте, что произойдет, если у вас есть переменные экземпляра непримитивных типов, вам также придется хранить все значения внутри них).
Одно из его применений - сохранение игры.
Сериализация в целом означает сохранение состояния объекта в 'сохраняемом '(например, при сохранении на диск), чтобы впоследствии его можно было десериализовать в реальный объект. Обычно это делается также для отправки объекта по сети в случае удаленных вызовов.
Вы можете пометить объект как [сериализуемый] в C #, что означает, что он может быть преобразован в двоичный , SOAP, XML, в любом случае .net.
Прелесть этого заключается в том, что вы можете сериализовать объект, отправить его через Интернет, сеть и т. Д., А затем восстановить его на другой стороне как объект снова. Затем это может пересекать машинные границы, такие как машина Windows на машину Unix, пока компьютер на другой стороне может читать данные и десериализовать их.
См. Эту статью: http://www.devhood.com/Tutorials/tutorial_details.aspx?tutorial_id=236
В дополнение к тому, что было сказано, я думаю, важно упомянуть, что сериализация данных подразумевает придание им четко определенного порядка (серийный номер происходит от серии, что означает наличие чего-то выровненного вверх или в строке ).
Например, сериализация графа (например, графа RDF, известного из «семантической сети») в формат сериализации, такой как XML, означает, что должен быть набор правил, определяющий, как упорядочить информацию, содержащуюся в графе, чтобы позже ее можно было восстановить, применив правило обратной сериализации (десериализацию).
Сериализация: это метод преобразования объекта в двоичный формат, простой протокол доступа к объектам (SOAP) или XML-документы, которые можно легко сохранять, передавать и извлекать.
Простым способом сериализации, позволяющим сжимать и распаковывать данные, а также безопасно передавать данные по сети. Лювайда объяснил
сериализацию объектов. Попробуйте также эту ссылку текст ссылки