单例模式

http://www.cnblogs.com/DreamDrive/p/4320926.html

http://blog.csdn.net/zhuhai__yizhi/article/details/49492721

思考:为什么要是静态方法?--因为,如果不是静态方法,就必须通过对象new出来,此时,单例就显得没意义了。

理解,什么是双重锁?至少会两种单例模式线程安全的机制。

一、关于clone的问题。

实际上能产生新对象有4种办法:new 、克隆、序列化、反射

private修饰构造函数,所以new被杜绝了。而你提到的克隆,如果需要对一个对象调用克隆方法,这个对象必须实现了ICloneable(好像是这个)接口,否则会报错。好,即便你实现了ICloneable接口,你可以克隆一个单例对象,克隆对象是不会执行构造函数的,而是直接从内存中复制的。所以单例用克隆是没法创造新的实例的。而序列化和反射都有防止破坏单例的机制,你可以自己查查看。

原文地址:https://www.cnblogs.com/lchzls/p/7301369.html