设计模式之单例模式-单例模式的几种实现方式及小案例
宕昌ssl适用于网站、小程序/APP、API接口等需要进行数据传输应用场景,ssl证书未来市场广阔!成为创新互联建站的ssl证书销售渠道,可以享受市场价格4-6折优惠!如果有意向欢迎电话联系或者加微信:13518219792(备注:SSL证书合作)期待与您的合作!
本文来源:凯哥Java(wx:kaigejava)
单例模式有几种?饿汉式、懒汉式。这两种是最常见的。还有几种是对其扩展的。具体如下:
我们可以从上图看到,共有六种方式。
其中在懒汉式基础上扩展的有两种。即:加锁的懒汉式及双重判断加锁的懒汉式
还有一种是使用内部类实现的。即:内部静态类的
最后一种是比较少见的。使用枚举的。
我们来看看每种方式代码都怎么写。
联系凯哥--》公众号:凯哥Java(kaigejava)
凯哥个人博客:www.kaigejava.com
懒汉式:
我们来看看懒汉式优缺点:
饿汉式:
饿汉式的优缺点及适用场景:
加锁的懒汉式:
再来看看加锁懒汉式的由来:
双重判断加锁的懒汉式:
有了加锁的懒汉为什么还会有加锁双重判断的呢?这种由什么优缺点呢?请看下图:
内部静态类是实现的懒汉式:
这种模式的有缺:
使用枚举:
优点缺点:
我们使用单例模式做个小案例。