今日份学习心得---设计模式之单例
单例模式
1. 懒汉: 在你需要用的时候去加载。判断只有一条,没有加锁,多线程情况下会出现问题,线程同时进来之后会创建出多个对象。
2. 饿汉 :在你的类初始化的时候就会开始初始化对象,多线程的情况下安全,但是会占用一定的内存空间
3. 双重检测懒汉 :在原来懒汉的基础上上锁,然后都上锁一直在判断一次对象是否初始化,多线程安全,但是写法看起来略显繁琐。
4. 枚举 Enum 枚举类 不仅可以解决线程同步,还可以防止反序列化。
注:java中的反射是可以做到new出多个对象的,这种我们现在暂时不考虑。还有几种写法我这里没有,有兴趣的可以去找一下。
上述所有内容均为本人自己的一些理解,有不对的地方欢迎在下方指正,希望大家共同进步。