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 {
............
............
}
但采访者告诉记者,这将序列化整个对象,他问了两个问题
请任何人都能帮我找到这个问题的答案让我引用一下 serialVersionUID表示类的版本,如果类的当前版本与其以前的版本不向后兼容,则应增加它 及 自动生成的UID是基于类名、实现的接口以及所有公共和受保护的成员生成的。以任何方式更改其中任何一个都将更改serialVersionUID。因此,只有在确定不会序列化超过一个版本的类(跨进程或稍后从存储中检索)时,才不需要处理它们 我建议您访问并一如既往地搜索web
希望有帮助。你问过谷歌吗?!我打赌它会给你们更快的答案。我在谷歌没有得到Q1,我不确定他是指单件类的序列化。如果是这样的话,它已经在SOthank你身上了,先生,他可能只希望从Mean那里得到单例答案,而且“这将序列化整个对象”无论如何都是不正确的。它将序列化对象及其所有非静态非瞬态成员。