gpt4 book ai didi

Java 序列化。不同的引用

转载 作者:行者123 更新时间:2023-12-02 06:16:03 25 4
gpt4 key购买 nike

public static class Singleton implements Serializable {
private static Singleton ourInstance;

public static Singleton getInstance()
{
if (ourInstance == null)
{
ourInstance = new Singleton();
}
return ourInstance;
}
private Singleton() {
}
}
<小时/>
     Singleton instance = Singleton.getInstance();
objectOutputStr.writeObject(instance);
Singleton singleton1 = (Singleton) objInputStr.readObject();
Singleton singleton2 = (Singleton) objInputStr.readObject();
System.out.println(singleton1);//A
System.out.println(singleton2);//B

为什么 singleton1 和 singleton2 的输出不同(标记为 A 和 B 的行)。是否可以使两个引用相同。

最佳答案

尝试使用我添加的行重新运行您的应用程序,如下所示:

  Singleton instance = Singleton.getInstance();
objectOutputStr.writeObject(instance);
Singleton singleton1 = (Singleton) objInputStr.readObject();
objectOutputStr.writeObject(instance); //Added an additional write to stream
Singleton singleton2 = (Singleton) objInputStr.readObject();
System.out.println(singleton1);//A
System.out.println(singleton2);//B

关于Java 序列化。不同的引用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35752880/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com