设计模式----单例模式

     单例模式:保证一个类仅有一个实例,并提供一个访问它的全局访问点。

    大家经常提到的单例模式:懒汉式和饿汉式。下边都举例说下。

    懒汉式:

   

饿汉式:


测试类:


两种方案对比下:  构造函数和公用方法都是静态的,实例和公用方法又都是私有的。但是饿汉式每次调用都是不需要重新创建的,直接返回已经创建好的实例,这样速度快了,但是占用了空间,因为类实例是static的,会一直存在内存中。懒汉式是通过判断是否存在,再重新实例化,影响速度。而且再并发的情况下,懒汉式有线程安全问题。


懒汉式(加线程控制):


相对普通的懒汉式只是再对外开放的方法里加了synchornized,没有在方法名前直接加是考虑访问速度和减小锁的粒度,再方法里有两个判断null的if语句,也是为防止出现安全问题,还能提高速度,自己可以思考下。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值