Я думаю, что концепция похожа на то, что меня спрашивают,
почему твердую пищу нужно жевать перед тем, как проглотить для пищеварения.
Но, конечно, разница в том, что усвоенное добро никак не может быть десериализовано.
Я помню, что использовал Sun RPC (в настоящее время называется ONC RPC), который выполняет кодирование XDR.
потому что компьютерные платформы / системы представляют свои данные в соответствующих формах. Например,
big endian против small endian.
Но JVM, вне зависимости от машины, является байтовым порядком байтов, поэтому порядок байтов не должен быть причиной.
Структура данных в памяти компьютера имеет указатели, и все элементы объекта могут не находиться в смежном блоке памяти. Однако, когда вы передаете объект через I / O в другую систему, вы не можете передать распределение памяти этого объекта.
Объект должен быть сериализован перед сохранением в базе данных, потому что вы не хотите и не хотите копировать динамически меняющееся расположение системной памяти.
Наш уровень представления данных в сетях основан на битовом потоке. Поэтому, когда вы хотите передать данные из одной системы в другую, вы должны преобразовать размерные данные, представленные в памяти, в данные, которые могут быть переданы по сети за байтом. На самом деле, по крупицам, и это часто идет через сжатие и безопасность шифрования. Процедуры сжатия и шифрования не имеют структуры и предполагаются потоки битов. Сетевые коммутаторы не имеют структуры. Сетевая передача даже не видит биты. Биты кодируются в сигнал передачи, который часто является аналоговым синусоидой, а затем модулируются. Эти процессы не работают на многомерных / иерархических схемах oo-структурированных данных.
Полагаю, вы могли бы выполнять обфускацию и шифрование на уровне объектов, однако вам все еще нужно разрешить системе преобразовывать их в битовые потоки, сначала преобразовав их в потоки символов.
Маршаллинг - это когда пастух имеет стадо овец и собирает их через мост с овцами через неспокойные воды. Поэтому маршаллеру приходится собирать наши объекты в последовательные схемы со ссылками, написанными на них, чтобы, когда стая информационных овец появлялась с другого конца моста, мы могли собрать их обратно в его иерархические схемы с помощью сопряженного демаршаллера , В нашем случае наши овцы - это не просто мост, а узкие и ненадежные обмотки и оползни, где на каждом ходу сетевое передающее оборудование хранит копию маршалловых овец, чтобы обеспечить возможность повторной отправки копии в случае любого овца упала в овраг.