单例模式用于只需要创建一个对象的类中。防止多产生多个实例。
代码结构:
1.单例类:拥有一个自己类的静态成员对象实例,也是唯一的实例。 拥有静态getinstance方法用于获取唯一实例。拥有一个私有构造函数防止外部创建实例。
饿汉式单例模式,静态单例模式。在加载类得就对静态实例成员进行创建赋值。优点无需考虑多线程创建多个实例的影响,缺点无论是否使用实例都会创建占用内存。
懒汉式单例模式。在getinstance方法中判断成员对象是否已存在,若不存在则创建。优点是在用的时候才会创建,不会多余占用内存,但是要考虑多线程的问题,需要加线程(双重锁定)锁防止多个实例被创建。
网友评论