Serializable序列化(千万别看)

本文详细介绍了Java序列化概念,包括序列化的作用、何时使用序列化、序列化实现方式,以及反序列化过程和注意事项。Java序列化主要用于对象存储、网络传输和版本管理,并提到了常见的序列化协议的优缺点。
摘要由CSDN通过智能技术生成

Serializable序列化

一、序列化是什么意思

  • 序列化:将Java对象写入到输入流的过程,即转化为字节序列(二进制)的过程

  • 反序列化:将字节序列恢复为Java对象的过程

二、为什么要序列化

        这曾是我一度苦思冥想的问题,因为不了解其具体的现实作用,所以不能理解。于是乎去翻阅各种资料找答案,现整理如下:

  • 对象存储:Java对象是运行在JVM的堆内存中的,如果JVM停止,它的生命也就戛然而止。如果此时我想要保存程序运行结束时的对象数据,那么就不可能任由它这么消失,就像玩游戏,游戏玩到一半,突然有急事处理,等回来时又要重新开始,是个人都会崩溃。于是,就需要将对象数据进行保存,但是,文件保存类型有字符串,有数字,它就是没有我们自定义的Java对象类型,如果我们想要存储Java对象类型的数据,就需要将其进行序列化,转化为字节后存储(和图片存储相似),等需要时,在进行反序列化取出。

  • 远程网络传输:计算机处理器可以通过内存地址找到存储的元素,但这些地址对于不同处理器毫无意义,也就没有办法通信。Java序列化用序列化号(serialVersionUID)代替了内存地址,使得不同的处理器可以通过反序列化识别到数据,进而进行通信。

  • 版本管理:程序总会不断的

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值