加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

Java基础 (12) - 序列化

发布时间:2020-12-15 07:50:52 所属栏目:Java 来源:网络整理
导读:1、序列化是干什么的? 内存中的各种对象的状态(也就是实例变量,不是方法),并且可以把保存的对象状态再读出来。 2、什么情况下序列化 a、对象需要持久化 (硬盘or数据库) ??? b、网络传输 (套接字orRMI) c、在进程间传递对象 3、序列化ID的作用 java的序
1、序列化是干什么的?
内存中的各种对象的状态(也就是实例变量,不是方法),并且可以把保存的对象状态再读出来。

2、什么情况下序列化
a、对象需要持久化 (硬盘or数据库)
??? b、网络传输 (套接字orRMI)
c、在进程间传递对象

3、序列化ID的作用
java的序列化机制是通过在运行时判断类的serialVersionUID来验证版本一致性的。反序列化时,JVM会把传来的字节流中的serialVersionUID与本地实体类中的serialVersionUID进行比较,如果相同则认为是一致的,便可以进行反序列化,否则就会报序列化版本不一致的异常。

4、序列化机制
a、保存到磁盘的所有对象都获得一个序列号(1, 2, 3等等)
b、当要反序列化保存一个对象时,先检查该对象是否被保存了。
c、如果以前保存过,只需写入"与已经保存的类具有相同序列号的对象"的一样的标记就可,否则,保存该对象。

5、序列化方式
a、Serializable
b、Externalizable (类似android Parcelable)

5、其它
a、支持序列化和反序列化的基本类型有:String,Array,Enum和Serializable。类中的静态变量不会序列化
b、transient来修饰不想要序列化的变量
c、 反序列化 ->ObjectOutPutStream(FileOutPutStream)

参照:https://blog.csdn.net/qq_16628781/article/details/70049623
https://www.cnblogs.com/csguo/p/7571741.html

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读