Я думаю, что концепция сродни тому, что ее спрашивают, почему необходимо протирать твердую пищу перед тем, как ее проглотить для пищеварения. Но, разумеется, разница в том, что переваренное добро не может быть в любом случае десериализованным.
Я помню, что Sun RPC (в настоящее время называется ONC RPC), который выполняет кодировку XDR , потому что компьютерные платформы/системы представляют свои данные в соответствующих формах. Например, большой эндиан против маленького конца.
Но JVM, независимо от того, является ли машина широкоформатным, поэтому утверждение не должно быть причиной.
Структура данных в памяти компьютера имеет указатели, и все элементы объекта могут не размещаться на смежном блоке памяти. Однако, когда вы передаете объект в i/o в другую систему, вы не можете передать распределение памяти этого объекта.
Объект необходимо сериализовать перед хранением в базе данных, потому что вы не хотите и не можете реплицировать динамически изменяющееся расположение системной памяти.
Наш уровень представления данных в сетях базируется на битовых потоках. Поэтому, когда вы хотите передавать данные из одной системы в другую, вам необходимо преобразовать размерные данные, представленные в памяти, в тот, который может передаваться по байтам сети байтом. На самом деле, по-разному, и который часто пропускает сжатие и шифрование. Предполагается, что процедуры сжатия и шифрования являются слепыми слепиками, а битовые потоки. Сетевые коммутаторы ослепляются. Сетевая передача даже не видит биты. Биты кодируются в сигнал передачи, который часто является аналоговым синусоидом и затем модулируется. Эти процессы не работают над многомерными/иерархическими схемами оо-структурированных данных.
Я предполагаю, что вы могли бы выполнять обфускацию и шифрование уровня объекта, но вам все же нужно разрешить системе преобразовывать их в битовые потоки, сначала конвертируя их в потоки char.
Маршаллинг - это когда у пастуха есть стадо овец, и он прокладывает им мост с одиночными овечками над беспокойными водами.Таким образом, маршаллер должен сортировать наши объекты в последовательные схемы со ссылками, написанными внутри, так что, когда стая информационных овец выходит из другого конца моста, мы можем собрать их обратно в свои иерархические схемы сопряженным-демаршаллером , В нашем случае наши овцы не сортируются по мосту, а узкие узкие и опасные обмотки и оползни, где сетевое передающее оборудование на каждом обороте хранит копию маршаллированных овец, чтобы гарантировать, что они смогут отправить копию в случае, если какая-либо из овцы упали в овраг.
Спасибо. Имеет смысл. Таким образом, любой объект с ограниченным сеансом, который не реализовал Serializable, либо не поддерживал само состояние, либо работал на серверах с балансировкой нагрузки, которые не разделяли состояние? – sma
Объект не сможет сериализоваться независимо от состояния, которое он поддерживает, если он не реализует Serializable, поэтому, если я правильно понимаю ваш вопрос, ответ заключается в том, что любые объекты, помещенные в сеанс, который не реализовал Serializable, были в факт не был сериализован контейнером, поэтому вы не видели проблемы. – Yishai