Java基础(12)-序列化

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


标题名称:Java基础(12)-序列化
转载注明:http://scyanting.com/article/pidihj.html