针对java中序列化,总结几点,目前理解,对错望指正。
1.序列化是将对象写入文件的过程
2.反序列化是将文件还原成对象的过程
3.序列化的主要作用是保存对象状态,例如,游戏进度保存,不可能每次开机都要从第一关开始对吧
4.序列化的条件必须满足,该类以及该类中的引用对象都实现了Serializable序列化接口
5.Serializable接口是个空接口,也叫标记接口,只是为了标识实现接口的类可以被序列化
6.序列化实际上就是文件流里对象流的操作 ObjectOutputStream
7.如果需要序列化的类中有不需要序列化的对象,用transient修饰,则序列化时会忽略
8.反序列化过程,如果类被修改,有些修改会影响,有些不会解序列化结果。
9.为了避免这种class定义变动导致的不兼容,采用版本号serialVersionUID
静态变量,用于标识Java类的序列化“版本”,通过计算类的结构信息得到的,通常可以由IDE自动生成
10.java的序列化机制仅适用于Java,如果需要与其它语言交换数据,必须使用通用的序列化方法,例如JSON