返回顶部
首页 > 资讯 > 精选 >Serializable接口
  • 176
分享到

Serializable接口

2023-06-03 13:06:57 176人浏览 八月长安
摘要

什么是java序列化,如何实现?   序列化就是一种用来处理对象流的机制,所谓对象流也就是将对象的内容进行流化。可以对流化后的对象进行读写操作,也可将流化后的对象传输于网络之间。  &nbs

什么是java序列化,如何实现?   序列化就是一种用来处理对象流的机制,所谓对象流也就是将对象的内容进行流化。可以对流化后的对象进行读写操作,也可将流化后的对象传输于网络之间。   序列化是为了解决在对 对象进行读写操作时所引发的问题。   序列化的实现:将需要被序列化的类实现Serializable接口,该接口没有需要被实现的方法,implement Serializable只是为了标注该对象是可被序列化的,然后使用         一个输出流(如:fileOutputStream)来构造一个ObjectOutputStream(对象流)对象,接着,使用ObjectOutputStream对象的writeObject方法就可以         将参数为obj的对象写出(即保存其状态),要恢复的话则利用输入流。SerialVersionUID--下面简称SUID其实序列化的作用是能转化成Byte流,然后又能反序列化成原始的类。能在网络进行传输,也可以保存在磁盘中,有了SUID之后,那么如果序列化的类已经保存了在本地中,中途你更改了类后,SUID变了,那么反序列化的时候就不会变成原始的类了,还会抛异常,主要就是用于版本控制。SUID:IDE一般会帮你自动生成,其实这个值你可以自己设定,只要保证id值唯一就好。你可以理解成唯一标识。serialVersionUID是用于记录class文件的版本信息的,serialVersionUID这个数字是通过一个类的类名、成员、包名、工程名算出来的。使用ObjectInputStream 反序列化的时候,ObjectInputStream会先读取文件中的serialVersionUID,然后与本地的class文件的serialVersionUID进行对比,如果这两个id不一致,那么反序列化就失败了。对象的输入输出流,主要的作用是用于写对象与读取对象的信息。对信息一旦写到文件上那么对象的信息就可以持久化了
Serializable接口

--结束END--

本文标题: Serializable接口

本文链接: https://www.lsjlt.com/news/234314.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作