Answers:
语义在这里很重要:
编组意味着移动数据,而不意味着从其原始表示形式或存储中转换数据。Java对象可以以其本机表示形式通过网络编组。
序列化意味着将数据转换为某些非本地中间表示。例如:将Java对象转换为JSON或XML。
当然,大多数封送数据的系统会在传输数据之前将其序列化为某些非本机格式。
之前已经问过这个问题,但是在StackOverflow上已经问过。这是链接。
Jeffrey Hantin给出的答案语录:
在远程过程调用的上下文中,封送处理和序列化是松散的同义词,但就意图而言在语义上有所不同。
特别地,封送处理是关于从此处获取参数,而序列化是关于将结构化数据复制到原始形式(例如字节流)或从原始形式复制数据。从这个意义上讲,序列化是执行封送处理的一种方法,通常实现按值传递语义。
还可以通过引用将对象编组,在这种情况下,“在线”数据仅仅是原始对象的位置信息。但是,这样的对象可能仍然适合于值序列化。
正如@Bill所提到的,可能存在其他元数据,例如代码库位置甚至对象实现代码。