码迷,mamicode.com
首页 > 编程语言 > 详细

Java基础 (12) - 序列化

时间:2019-09-07 01:39:39      阅读:94      评论:0      收藏:0      [点我收藏+]

标签:rmi   一致性   套接字   extern   art   follow   transient   htm   obj   

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) - 序列化

标签:rmi   一致性   套接字   extern   art   follow   transient   htm   obj   

原文地址:https://blog.51cto.com/4397014/2436231

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!