摘要:
首先解释两个概念,何为序列化?何为反序列化?序列化:将对象转化成流的过程称为序列化反序列化:将流转化成对象的过程称之为反序列化序列化与反序列化必须遵守的原则a)Java对象在java中要想使一个java对象可以实现序列化与反序列化,必须让该类实现java.io.Serializable接口java.io.Serializable接口定义如下:publicinterface Serializable {}从上述定义中可以看到该接口中未定义任何方法,这大大的简化了开发者b)序列化主要依赖java.io.ObjectOutputStream类,该类对java.io.FileOutputStream进 阅读全文
posted @ 2013-01-14 13:38
矢风快乐
阅读(195)
评论(0)
推荐(0)
摘要:
java在序列化的时候涉及到很多检查,serialVersionUID就是其中一个。那这个serialVersionUID有什么用处?这个值可以由类指定,也可以不指定。如果不指定的话java会根据class计算serialVersionUID,相当于hash的原理(但不是hash不要混淆),只要类没有变化,计算出来的serialVersionUID也会变化。它用在反序列化的时候“检查”当前的类是不是已经被修改过。如果发现serialVersionUID对不上号,那么会抛出java.io.InvalidClassException的异常,这种情况发生在由于种种因素修改了序列化对象的类文件时。但是 阅读全文
posted @ 2013-01-14 13:28
矢风快乐
阅读(7260)
评论(0)
推荐(0)

浙公网安备 33010602011771号