0 基础带你精通 Java 对象序列化 -- 以 Hessian 为例
一、概述 在高级编程语言的世界中,开发者始终与**【object/struct】**这类高度抽象的数据结构打交道。然而在分布式架构下,任何服务进程都不是数据孤岛——跨进程数据交换是必然需求。 以Java为例,业务逻辑的输入输出都是**【object】。但在RPC场景中,这些对象必须经由网络传输。这里出现了一个根本性矛盾:网络介质(网线/光纤)对面向对象编程(OOP)一无所知,它们只会用光和电忠实地传输扁平化**的字节流(byte[])。 软件工程经典的分层理论驱使我们去添加一个转换层。 我们需要有个工具或者组件来协助进行**【object】和【byte[]】之间的双向转换**。这个过程包含两个对称的流程: 【object】->【byte[]】:业界一般称为序列化/serialize,但是那个单词念起来很拗口,本文我们都叫它【编码/encode】好了。 【byte[]】->【object】:业界一般称为反序列化/deserialize,但是那个单词念起来很拗口,本文我们都叫它【解码/decode】好了。 Hessian作为Java生态中久经考验的对象编解码器,相较于同类产品具...

