transient关键字_瞬态关键字 InvalidClassException异常_原理和解决方案
static关键字:静态关键字
静态优先于非静态加载到内存中(静态优先于对象进入到内存中)被static修饰的成员变量不能被序列化的,序列化的都是对象private static int age;
oos.writeobject( new Person("小美女”,18));object o = ois.readobject();
Person{name='小美女',age=0}
transient关键字:瞬态关键字
被transient修饰成员变量,不能被序列化
反序列化操作2
另外,当JVM反序列化对象时,能找到class文件,但是class文件在序列化对象之后发生了修改,那么反序列化操作也会失败,抛出一个(InvalidclassException异常。发生这个异常的原因如下︰
·该类的序列版本号与从流中读取的类描述符的版本号不匹配
·该类包含未知数据类型
·该类没有可访问的无参数构造方法
Serializable接口给需要序列化的类,提供了一个序列版本号。|serialversionUID该版本号的目的在于验证序列化的对象和对应类是否版本匹配。


浙公网安备 33010602011771号