Object 序列化

阅读更多

1. 假定从数据库读取一个Object,使用ObjectInputStream 的readObject 读取对象时,该对象的所依赖的类必须能在本地找到。
如在数据库中保存着一个名为StartNode对象,类StartNode 的父类是NodeInfo.若readObject,并用Class NodeInfo进行强制类型转换,但在本地找不到Class StartNode, 则会报java.lang.ClassNotFoundException异常;

2. 如在数据库中保存着一个名为NodeIndo的对象.若readObject,并用Class NodeInfo对其进行强制类型转换.假设Class NodeInfo在将对象写入后进行了修改,则会报java.io.InvalidClassException异常.

3. 在2中,对NodeInfo进行修改时,不能修改方法(包括参数),字段,但字段的值可以修改

4. ObjectInputStream 在执行readObject方法时,要去找该对象所对应的类,如果没有对应的类,则会报java.lang.ClassNotFoundException.

5. 能用BufferedInputStream读出数据库中的对象BLOB字段, 用BufferedOutputStream写进本地文件,能用ObjectInputStream读取该对象.保存为本地文件时,文件名为任意名称或路径.

你可能感兴趣的:(Object 序列化)