Java序列化

serialization(序列化)是一种将对象以一连串的字节描述的过程;deserialization(反序列化)是一种将这些字节重建成一个对象的过程。Java序列化API提供一种处理对象序列化的标准机制。

JAVA序列化机制解决的问题:在分布式环境中经常需要将对象从这一端网络或设备传递到另一端。这需要一种可以在两端传输数据的协议。

实现Serializable接口后就能够将一个对象序列化,Serializable接口没有方法,更像是个标记。

Java的序列化算法

一般会按如下步骤进行:

1、将对象实例相关的类元数据输出

2、递归地输出类的超类描述直到不再有超类

3、类元数据完了以后,开始从最顶层的超类开始输出对象实例的实际数据值

4、从上至下递归输出实例的数据。

序列化实现

1、原生序列化:采用InputStream和OutputStream

2、Json序列化:采用ObjectMapper和writeValueAsBytes和readValue方法

3、fastjson序列化:阿里巴巴的第三方包,速度快,支持多种类型

4、ProtoBuff序列化:可以压缩。


部分参考:https://www.cnblogs.com/redcreen/articles/1955307.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值