单例模式的一些探索

单例模式(Singleton)是软件开发中最常用的设计模式之一

单:唯一

例:实例

即某个类在整个系统中只能有一个实例对象可以被获取和使用

 

要点:

1)、这个类在整个系统中只能有一个实例

  ——构造器私有化

2)、这个类必须自己创建本身实例

  ——这个类中含有一个该类的静态变量来保存这个唯一的实例

3)、这个类必须自己向整个系统暴露自身实例

  ——1.直接暴露

  ——2.使用静态变量的get方式获取

 

两种形式

一、直接创建对象(不存在线程安全问题)

  1)直接实例化对象(简洁直观)

  2)枚举式(最简洁)

 

 

 

  3)静态代码块方式(适合单例对象复杂实例化)

二、延迟创建对象

1)线程不安全(适用于单线程)

2)线程安全(适用于多线程),在线程不安全代码基础上改良

 

3)静态内部类形式(使用于多线程)

 

 

posted @ 2019-01-02 13:37  SpringCore  阅读(204)  评论(0编辑  收藏  举报