单例模式的N种写法
1. 饿汉式
优点:写法简单,线程安全
缺陷:占用内存高,对象还没有被使用已经被创建出来了。
2. 懒汉式
优点:写法简单,对象使用时才被创建。
缺陷:线程不安全。
3. 加synchronized
优点:写法简单,对象使用时才被创建。
缺陷:接口性能下降明显。
4. 双重检查
优点:对象使用时才被创建。
缺陷:写法开始变复杂,线程其实还是不安全。
5. volatile(防止指令重排序)
优点:对象使用时才被创建。
缺陷:写法变复杂,性能进一步下降。
6. 内部类
优点:写法简单,线程安全,节约资源
缺陷:序列化或者反射会破坏单例。
This moment will nap, you will have a dream; But this moment study,you will interpret a dream.