传输对象一定要实现Serializable接口吗

文章目录

    • 一. 测试Jackson序列化
    • 二. 结论


网上有很多篇关于Serializable的论述.写的不清不楚,不指明什么情况需要Serializable接口.以下是我汇总和实践的结果. 先说结论,Serializable不一定需要被实现. 在对象需要持久化保存到非关系型数据,网络传输RPC调用时候我们一般使用主流的Jackson,fastjson,fastjson2,hession2,protobuf,koyo等序列化工具. 而不是JDK序列化工具. 一般的上述主流序列化框架不需要检测Serializable接口,都有自己的实现.

一. 测试Jackson序列化

我是使用了redisson框架,指定了Jackson序列化编码



实体Bean对象,未实现Serializable接口

传输对象一定要实现Serializable接口吗_第1张图片

用户登录入库操作

传输对象一定要实现Serializable接口吗_第2张图片

查看入库情况发现正常入库


二. 结论

非关系型数据库以及网络对象传输肯定要序列化,但是得看用的啥框架.一般的主流框架不需要实现Serializable,它是jdk序列化识别的标志.

对于初学者来说jdk序列化持久化是乱码,因为它是在磁盘以二进制存储的
jackson,fastjson这些是json数据
hession2也是二进制存储但框架本身实现了自描述.
protobuf 不太了解


你可能感兴趣的:(笔记,Java体系,java)