设计模式-单例模式

简介

软件设计模式,又叫设计模式,是一套反复被使用,多数人知晓的,经过分类编目的,代码设计经验的编写;
目的:1、提高代码的可重用性;2、提高代码的可读性;3、提高代码的可靠性,可维护性

常用设计模式

1、单例模式,只创建操作一个实例对象

【创建要点】1.构造函数私有化;2.提供静态共有函数来创建实例,供外部调用

  1. 懒汉方式;
    类加载是没有生成单例,只有第一次加载时才创建单例对象
    【实现】
    public class MySingleton(){
        private static volatile LazySingleton instance=null;    //保证 instance 在所有线程中同步
        private LazySingleton(){}    //private 避免类在外部被实例化
        public static synchronized LazySingleton getInstance()
        {
            //getInstance 方法前加同步
            if(instance==null)
           {
                instance=new LazySingleton();
            }
            return instance;
        }
    }
  1. 饿汉方式
    类加载时就已经创建了对象,保证调用getInstance()之前单例已经存在
    【实现】
public class HungrySingleton
{
    private static final HungrySingleton instance=new HungrySingleton();
    private HungrySingleton(){}
    public static HungrySingleton getInstance()
    {
        return instance;
    }
}

注意:单线程中单例模式可能会失效,用DCL(Double Check Lock)创建

原文地址:https://www.cnblogs.com/monkay/p/11281945.html