Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/wix/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 为什么在序列化期间使用serialVersionUID_Java_Serialization - Fatal编程技术网

Java 为什么在序列化期间使用serialVersionUID

Java 为什么在序列化期间使用serialVersionUID,java,serialization,Java,Serialization,在我的采访中,我得到了一个关于如何实现系列化的问题,我给出了如下回答: public class SerializationSample { public static void main(String args[]) { ........... FileOutputStream fos = new FileOutputStream(outFile); ObjectOutputStream oos = new ObjectOutputStr

在我的采访中,我得到了一个关于如何实现系列化的问题,我给出了如下回答:

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 {
    ............
    ............
}
但采访者告诉记者,这将序列化整个对象,他问了两个问题

  • 如果我想序列化单个对象,您将如何编写代码
  • 为什么在序列化期间使用长整型id

  • 请任何人都能帮我找到这个问题的答案

    让我引用一下

    serialVersionUID表示类的版本,如果类的当前版本与其以前的版本不向后兼容,则应增加它

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

    我建议您访问并一如既往地搜索web


    希望有帮助。

    你问过谷歌吗?!我打赌它会给你们更快的答案。我在谷歌没有得到Q1,我不确定他是指单件类的序列化。如果是这样的话,它已经在SOthank你身上了,先生,他可能只希望从Mean那里得到单例答案,而且“这将序列化整个对象”无论如何都是不正确的。它将序列化对象及其所有非静态非瞬态成员。