单例模式使用场景:
一个类只希望并且只能有一个唯一的实例
单例模式分为懒汉单例和饿汉单例以及饿汉单例实现懒汉单例三种方式
懒汉单例:
懒汉单例模式就是在使用获取方法的时候初始化实例,但是如果有多个线程并发访问这个方法就会有安全问题。
饿汉单例
饿汉单例模式杜绝了线程问题,保证实例是唯一的一个,但是实在类加载的时候初始化的。我们如果想要性能平均一点,希望在获取的时候得到这个实例就要使用饿汉下的懒汉实现了
线程安全的懒汉单例
静态内部类不会在外部类加载的时候被加载,而是在调用getInstance()方法的时候才会被加载
达到了懒汉模式的单例效果,线程又是安全的。