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 序列化
最新推荐文章于 2023-07-24 20:30:47 发布
本文探讨了Java序列化与反序列化的几个常见问题,包括ClassNotFoundException与InvalidClassException异常的原因,以及如何避免这些问题。文章还介绍了在进行对象序列化时对类所做的修改可能带来的影响。
1808

被折叠的 条评论
为什么被折叠?



