设计模式学习笔记之单例模式

来源:互联网 发布:手机淘宝退款售后 删除 编辑:程序博客网 时间:2024/06/05 22:30

设计模式,一个有些开发经验的RD都会听说过这个词,特别是经历过一段时间面试的RD,那么设计模式究竟是用来做什么的呢

分类

首先设计模式应该分为三大类
1.创建模式
2.结构模式
3.行为模式

单例模式

单利模式是属于创建模式的其中一种,众所周知,单例模式实现有两种方式懒汉式饿汉式

饿汉式
线程安全的实现方式

/** * Created by New-Bee on 2017/3/15. */public class Singleton {    private static Singleton instance = new Singleton();    private Singleton(){}    public static Singleton getInstance(){        return instance;    }}

懒汉式

/** * Created by New-Bee on 2017/3/15. * 该方式线程安全 */public class Singleton {    private static Singleton instance;    private Singleton(){}    public static synchronized Singleton getInstance(){        if(instance == null){            instance = new Singleton();        }        return instance;    }}

另外还有一种双重锁的概念

/** * Created by New-Bee on 2017/3/15. */public class Singleton {    private volatile static Singleton instance;    private Singleton(){}    public static Singleton getSingleton(){        if(instance == null){            synchronized (Singleton.class){                if(instance == null){                    instance = new Singleton();                }            }        }        return instance;    }

说明:

无论那种方式,通过上面代码可以看出,其无参构造一定要私有化,防止外部调用无参构造进行实例化对象,其代码实现总体来说都是先判断内存中是否有Instance存在,如果没有则创建Instance反之则返回,

下面就是一些使用场景

一些配置文件比如数据库配置,框架的一些配置信息,一般都会采用单例模式加载的内存中

0 0
原创粉丝点击