一 java序列化是什么:把java对象的状态(不包括方法)转化为字节数组。
二 java序列化的主要用途:
1 持久化,把对象放在物理存储器上
2 对象网络传输
三 java序列化的一些注意事项:
1 serialVersionUID:标识对象的版本。
如果没有显示的写serialVersionUID的时候,会根绝对象的信息(类型 字段 方法等等)计算出一个值,每当字段有变化(增删改)的时候,这个serialVersionUID就会变化,这样导致两边不一样就会导致序列化出现问题;
推荐显示地写serialVersionUID,并且是private static final long类型的,如果增删改了字段,序列化不会出现问题,新增的字段直接用null来填充。
2 在java中使用ObejctInputStream和ObjectOutputStream来持久化一个对象。
3 要想序列化一个对象,有两种方法:
(1)实现serializable接口(没有任何方法,仅仅作为一个可序列化的标识这个)
(2)实现ExtenerSerializable(这个可以自定义持久化,没用过)