java设计模式——单例模式

2019-01-18  本文已影响0人  Erichc

2019.1.18

本文主要是阅读:

https://mp.weixin.qq.com/s/dDAAH-Vkxi8xoj6uT0XRtg

Java设计模式之《单例模式》及应用场景 - 唯一浩哥 - 博客园

 之后的总结。

1.主要应用场景

    单例含义:有且仅有创建了一个对象,例如‘神’只有一个。应用场景:如windows中的任务管理器,回收站,项目中的数据库连接池,Spring中创建的实例默认都为单例。

2.实现方式

    2.1“痴汉模式”

2.1 “懒汉模式”

    对创建实例方法进行加锁

双重加锁机制

补充:关于锁内部的第二重空判断的作用,当多个线程一起到达锁位置时,进行锁竞争,其中一个线程获取锁,如果是第一次进入则god为null,会进行单例对象的创建,完成后释放锁,其他线程获取锁后就会被空判断拦截,直接返回已创建的单例对象。

上一篇下一篇

猜你喜欢

热点阅读