3

在我的采访中,我遇到了一个如何实现序列化的问题,我给出了答案

public class SerializationSample {
    public static void main(String args[]) {
        ...........
        FileOutputStream fos = new FileOutputStream(outFile);
        ObjectOutputStream oos = new ObjectOutputStream(fos);
        oos.writeObject(serializableObject);
        ............
}
class SerializationBox implements Serializable {
    ............
    ............
}

但面试官告诉,这将序列化整个对象,他问了 2 个问题

  1. 如果我想序列化单个对象,你将如何编写代码?
  2. 为什么我们在序列化过程中使用 long_integer id?

请任何人都可以帮助我找到这个问题的答案

4

1 回答 1

1

让我引用类似且已经回答的问题的精髓

serialVersionUID 代表您的类版本,如果您的类的当前版本与其以前的版本不向后兼容,您应该增加它。

自动生成的 UID 是根据类名、实现的接口以及所有公共和受保护成员生成的。以任何方式更改其中任何一个都将更改 serialVersionUID。因此,只有当您确定不会超过一个版本的类被序列化(跨进程或稍后从存储中检索)时,您才需要弄乱它们。

我建议您访问该链接,并一如既往地搜索网络。

希望有帮助。

于 2013-10-02T09:18:59.833 回答