单例模式的好处:
1.省略创建对象所花费的时间
2.节省GC触发的次数,省堆内存
刚开始的恶汉式,从无延迟加载到延迟加载(双重锁),然后从同步到无需同步 还是延迟加载(静态内部类)
然后因为可能通过反射改变构造器的私有,变为枚举类
然后因为可能序列化 反序列化改变单例(出现多个对象),
解决办法:
在单例类中加上
private Object readResolve(){
return 单例对象
}
这就会返回那个唯一的对象(要不会报错)
我之前也写过一个单例的代码实现,这个是目前最终版本,感觉有什么不对的,请评论
875

被折叠的 条评论
为什么被折叠?



