Tag: serializable

DOP实现的Serializable接口

是否必须为Java DTO / Model对象实现Serialize? 如果是这样的话? 如果不是对性能的影响等等?

序列化之间的区别是什么,只是将对象存储在磁盘上?

我对此感到困惑。 从执行Serializable类开始,我们需要使用类FileOutputStream , ObjectOutputStream等类。 那么为什么我们不只是使用这些类来做一些事情,比如将对象输出到文件并从文件中输入对象以直接维护对象的状态? 我们为什么要首先实现Serializable然后做同样的事情?

使用不同的包名称对不同应用程序中的java对象进行de / serialize

我想在不同的应用程序之间共享java对象。 只要我在不同的项目中使用相同的包名称,它就可以正常工作。 但是,如果我更改包名称,它将不再起作用。 我试图通过扩展ObjectInputStream类并重写readClassDescriptor方法来解决这个问题。 但通过这样做,我收到以下错误: java.io.StreamCorruptedException: invalid type code: 00 ……不知道如何解决这个问题。 这是我用于扩展ObjectInputStream类的代码: public class MyObjectInputStream extends ObjectInputStream { public static Map classNameMapping = initclassNameMapping(); private static Map initclassNameMapping(){ Map res = new HashMap(); //ipxTest is the name of the package where the objects got serialized res.put(“ipxTest.IPX”, interprojectxchangeTest.IPX.class); res.put(“ipxTest.A”, interprojectxchangeTest.A.class); return Collections.unmodifiableMap(res); } public MyObjectInputStream(InputStream in) […]

可序列化和瞬态

要使类可序列化,我们执行以下操作: class A implements Serializable { transient Object a; } 而不是这个: serializable class A { transient Object a; } 为什么,如果我们想使类可序列化,我们是否实现了一个特殊的接口 。 如果我们想要排除某些字段,我们会使用关键字 transient ? 为什么两种情况下都没有使用特殊关键字? 我的意思是有什么理由以不同的方式做同样的事情吗? 我知道,没有像serializable这样的关键字但为什么不引入而不是特殊的接口Serializable ?

谁实际实现了可序列化方法?

我一直在学习如何使用Serializable 。 我知道如果我创建一个具有不同变量的类’A’来实现Serializable ,我将Serializable添加到我的类中,它也是Serializable 。 但是,实际上是谁实现了这两种方法来序列化? Object是否会处理所有事情,或者在必要时不同的类会重载它们?

使用Serializable而不是写入和读取对象到文件

在哪些情况下,使用实现可序列化而不是写入和读取对象到/从文件是一个很好的编码实践。在一个项目中我经历了代码。 使用implements serializable的类,即使在该类/项目中没有任何写入/读取对象到/从文件?