四、单例模式

用来创建一个独一无二的,只能有一个实例的对象

单例模式定义:
确保一个类只有一个实例,并提供一个全局的访问点.

这里写图片描述

这里写图片描述

这里写图片描述

这里写图片描述

只有第一次执行此方法时,才真正需要同步.一旦设置了静态变量就不需要这个同步方法了
之后每次调用这个方法都是一种累赘

1.如果同步的方法的性能对你的应用程序不是很关键就什么都别做
同步方法既简单又有效,但是必须知道同步一个方法可能造成程序执行能力下降

2.使用”饿汉式”创建实例,而不是用延迟创建(懒汉式)
如果应用程序总是创建并使用单例,或者在创建和运行方面的负担不太沉重的时候需要急切的创建实例

这里写图片描述

3.用双重检查加锁,在getSingLeton减少使用同步
利用双重检查加锁,首先检查实例是否创建了,如果没有创建,才进行同步,这样一来只有第一次会同步,这才是我们想要的

这里写图片描述

注意:双重检查锁只要在jdk1.4之后才可以使用

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值