(七)数据序列化-hessian2

本文详细介绍了Hessian2协议的工作原理,包括如何进行对象的序列化和反序列化,以及在Dubbo中如何使用Netty进行消息收发。通过具体的Car对象示例,解析了序列化后的二进制内容,展示了对象属性嵌套对象属性的序列化形式。此外,还提供了自己实现的RPC框架的GitHub链接以供参考。
摘要由CSDN通过智能技术生成

使用hessian2协议,也就是传输对象序列化,它是二进制的RPC协议,与RMI不同的是,以标准的二进制格式定义请求的信息(请求的对象、方法、参数等),可以跨语言通讯,而RMI只局限于java间通讯。
1.hessian2原理

java-hessian2
自定义的类使用默认的序列化类com.caucho.hessian.io.JavaSerializer(Class, ClassLoader)

接口Serializer定义了序列化器的方法writeObject(Object, AbstractHessianOutput);

public interface Serializer {
  public void writeObject(Object obj, AbstractHessianOutput out) throws IOException;
}

默认序列化器JavaSerializer

public class JavaSerializer extends AbstractSerializer{
    public JavaSerializer(Class, ClassLoader){//...}
}

抽象工厂类定义了获取序列化和反序列化类的接口

abstract public class AbstractSerializerFactory {
    abstract public Serializer getSerializer(Class<?> cl) throws HessianProtocolException;

    abstract public Deserializer get
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值