单例模式初试

介绍:单例模式的两种方式,一种是饿汉式,就是在类初始化的时候,创建对象,这种方式是线程安全的,在程序运行期间就这一个对象。

另一种是懒汉式,懒汉式是在第一次使用时才创建对象,但是如果在多线程环境中要考虑线程安全问题。

好~直接上代码截图

 

1、饿汉式

输出结果:符合单例模式

 

2、懒汉式

输出结果:多次实例化对象,存在多线程安全问题

 

3、解决懒汉式存在多线程安全问题——双重锁方法(在static方法上添加synchronized或者synchronized(类名.class)

输出:符合单例模式

注意:如果使用synchronized(类名.class)这种方法时,直接上代码截图

输出结果:多次实例化对象,不符合单例模式

**这时需要多加一步操作

输出结果:符合单例模式

 

总结:本人之前只是学了单例模式的书面知识,并没有真正在实践中遇到过,这次在看别人写的程序的时候遇到了这种情况,决定好好研究一下,毕竟是初次接触,因此内容有限敬请读者谅解,后续若有更多个人见解会及时补充,也请读者可以多多指教~

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值