单例模式,写法介绍三种:懒汉式单例,饿汉式单例,登记式单例
单例模式有以下特点:
1.单例类只能有一个实例。
2.单例类必须自己创建自己的唯一实例
3.单例类必须给所有其他对象提供这一实例
单例模式确保某个类只有一个实例,而且自行实例化并向整个系统提供这个实例。在计算机系统中,线程池,缓存,日志对象,对话框,打印机这些对象常被设计成单例。避免不一致的状态,避免政出多头。
饿汉式天生是线程安全的,可以直接用于多线程而不会出现问题,而懒汉式本身是非线程安全的。
饿汉式在类创建的同时就实例化一个静态对象出来,不管之后会不会使用这个单例,都会占据一定的内存。
懒汉式是延迟加载,在第一次使用该单例的时候才会实例化对象出来,第一次调用时要做初始化。