Если вы ищете подсветку синтаксиса в редакторе в браузере, попробуйте CodeMirror .
Маршалинг и сериализация являются слабо синонимичными в контексте удаленного вызова процедуры, но семантически различаются в зависимости от намерения.
В частности, маршалинг касается получение параметров отсюда туда, а сериализация - это копирование структурированных данных в или из примитивной формы, такой как поток байтов. В этом смысле сериализация является одним из способов выполнения маршалинга, обычно реализуя семантику передачи по значению.
Также возможно, что объект будет маршалироваться по ссылке, и в этом случае данные «на проводе» просто расположены информация для оригинального объекта. Тем не менее, такой объект все еще может быть пригоден для значения сериализации.
Как упоминает @Bill, могут существовать дополнительные метаданные, такие как расположение базы кода или даже код реализации объекта.
Из Marshalling (информатика) Статья в Википедии:
Термин «маршал» считается синонимом «сериализации» в стандартной библиотеке Python 1 , но термины не являются синонимами в RFC 2713, связанном с Java:
«Маршал» объекта означает записать его состояние и кодовую базу (ы) таким образом, что при маршалинге объекта "unmarshalled", копия оригинального объекта получается, возможно, автоматически загружая определения класса объекта. Вы можете маршалировать любой объект, который можно сериализовать или удалить. Маршаллинг подобен сериализации, за исключением того, что маршаллинг также записывает кодовые базы. Маршаллинг отличается от сериализации тем, что маршаллинг специально обрабатывает удаленные объекты. (RFC 2713)
Для «сериализации»
Я думаю, что главное отличие состоит в том, что Marshalling предположительно также включает в себя кодовую базу. Другими словами, вы не сможете выполнить маршалинг и демаршализацию объекта в эквивалентный состоянию экземпляр другого класса.
Сериализация просто означает, что вы можете сохранить объект и восстановить эквивалентное состояние, даже если это экземпляр другого класса.
При этом, как правило, они являются синонимами.
Маршаллинг обычно находится между относительно тесно связанными процессами; Сериализация не обязательно имеет такое ожидание. Так, например, при распределении данных между процессами вы можете просто отправить ссылку на потенциально дорогие данные для восстановления, тогда как при сериализации вы хотели бы сохранить все это, чтобы правильно воссоздать объект (ы) после десериализации.
Думайте о них как о синонимах, оба имеют производителя, который отправляет данные потребителю ... В конце поля экземпляров записываются в поток байтов, а другой конец - против вспять и вверх с теми же экземплярами.
NB - Java RMI также содержит поддержку транспортировки классов, отсутствующих в получателе ...