序列化/反序列化Java自带自带序列化反序列化机制

一、序列化/反序列化概念

` java是面向对象的语言,对象一般是存活在内存中动态变化的数据。有时候为了保存和传输,需要将内存中存活的动态变化的对象数据转化成可以固定的字节信息。序列化技术可以实现。将已经固定的对象的字节信息转换回内存对象的过程就是反序列化的过程。

二、序列化/反序列化应用场景

1、将对象序列化后保存,即持久化
` 将内存中的对象信息序列化后保存到外部存储设备中。这个过程也称之为将对象持久化保存了。再需要的时候可以将持久化保存的对象再读取回程序内进行反序列化再恢复为对象,这个过程也称之为反持久化。
补充:
` 序列化是持久化的前提。

2、将对象序列化后通过网络传输实现,即RPC
` 将内存中的对象信息序列化后,将字节信息通过网络发送给其他程序,其他程序收到这些数据后,进行反序列化就可以恢复出对象,得到对象中的信息。

三、常见的序列化/反序列技术

` 序列化/反序列化是在分布式开发中,其中包括 [持久化]和[RPC] 的基础,是在分布式环境下非常常见的操作,所以序列化反序列时性能的好坏直接影响分布式程序的性能。

1、java自带的序列化/反序列化技术
(jdk1开始就有了)
优点:简单,易用,不用导入第三方包
缺点:
效率低下 - 浪费时间
产生的结果数据大 - 浪费空间
只能在java中使用 - 无法跨语言
现实企业中使用很少。

2、其他开源序列化反序列化技术 - AVRO
由APACHE

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值