在java中反序列化文件中的对象(ObjectInputStream)

时间:2014-08-04 17:05:00

标签: java stack-overflow

我想在我的处理链中存储几个步骤作为二进制文件中的对象。 所以我让对象类实现了serialize接口,并使用ObjectOutputStream将我的对象的ArrayList写入二进制文件。 读取我使用的对象(List)o.readObject() 适用于小型测试数据集。 当我增加ArrayList和包含对象的大小时,我通过尝试从文件系统中读取对象来获得StackOverflowError。 由于它适用于小型数据集,我想知道它是否是一个可扩展性问题?

Exception in thread "main" java.lang.StackOverflowError
at java.lang.ReflectiveOperationException.<init>(ReflectiveOperationException.java:89)
at java.lang.reflect.InvocationTargetException.<init>(InvocationTargetException.java:72)
at sun.reflect.GeneratedMethodAccessor2.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:601)
at java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:1004)
at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1872)
at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1777)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1347)
at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1970)
at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1894)
at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1777)

0 个答案:

没有答案