定义: 保证一个类仅有一个实例,并提供一个访问它的全局访问点
1.饿汉模式
这种方式在类加载时就完成了初始化,所以类加载较慢,但获取对象的速度快.这种方式基于类加载机制,避免了多线程的同步问题.在类加载的时候就完成了实例化,没有达到懒加载的效果.如果从始至终未使用过这个实例,则会造成内存的浪费.
2. 懒汉模式(线程不安全)
懒汉模式声明了一个静态对象,在用户第一次调用时初始化.这虽然节约了资源,但第一次加载时需要实例化,反应稍慢一些,而且在多线程是不能正常工作
3.懒汉模式(线程安全)
这种写法能够在多线程中很好的工作,但是每次调用getInstance 方法时都需要进行同步.这会造成不必要的同步开销,而且大部分时候我们是用不到同步的,所以不建议用这种模式.
4.双重检查模式(DCL)
这种写法在ge