目录
一、为什么要使用单例模式
避免一个类的对象被频繁的创建和销毁,减少消耗系统资源。
二、单例模式有什么特点
一个类只有一个对象,且构造函数是私有的,外界无法new这个类的对象,对象只能由类的内部进行实例化,此类提供一个公有的获取实例化对象的方法供外界调用来获取对象。
三、单例模式的实现方式
1、懒汉式
懒汉式指的是只有instance为null时才创建。
从下面代码实现来看,并不是线程安全的,当多个线程同时调用getInstance方法是,可能这个时候判断instance都是null,这样这几个线程都会创建一个对象,不适合多线程。可能存在违背单例模式一个类只有一个实例的特点,所以严格意义上懒汉式的这种实现方式并不是真正的单例模式。
public class SingleLazyNoSafe {
private static SingleLazyNoSafe instance;
pu