设计模式笔记之单例模式
1、单例模式(Singleton)定义:保证一个类仅有一个实例,并提供一个访问它的全局访问点。如何保证呢?一个最好的方法就是让类本身负责保存他的唯一实例。结构图如下。注意: 构造函数是private的,这样就保证的外部类无法实例化该类。

3、很明显,“懒汉式单例”是线程不安全的,并发环境下可能会产生多个实例。这个时候一个方法就是将getInstance方法变为同步的,也就是给该方法加锁的意思来保证线程安全。

5、我们叫该方法为“懒汉式”的原因是,类在使用的时候才会被创建。相应的,我们有另外一种模式,就是在类加载的时候就初始化它。我们称之为“饿汉式单例”。优势是本身就会是线程安全的, 但是,因为这个单例没有用到也会被创建,可能会浪费内存。就像windows系统开机自启动似的~

7、肯定还有其它的方式,总之就是要兼顾性能和线程安全。