为了账号安全,请及时绑定邮箱和手机立即绑定

模式的秘密---单例模式

难度中级
时长30分
学习人数
综合评分9.63
276人评价 查看评价
9.8 内容实用
9.6 简洁易懂
9.5 逻辑清晰
单例模式不是很懂,来看看。我是。梦殇国际
我觉得不考虑多线程的话,这里的懒汉模式已经足够。加 synchronized 也不是唯一的做lazy init 的方式。

讲师回答 / 汤小洋
一般不会这样做,内部类不适合应用于这种场合
线程不安全是因为,没有在懒汉模式那里加一个同步块,而且没有加同步块和再加一个判断的话,这里的懒汉模式并不是真正意义上的单例模式~~
很实用,终于明白了单例模式

最赞回答 / jamesdeath123
如果两个线程 threadA和 threadB分别开始执行初始化:threadA: if (instance == null) 是真,然后进入条件区里面里面,在它还没有到初始化那一步的时候,跳到 threadB:这时(instance==null)对threadB仍然是真,于是也进入到条件区里面。接下来 threadA和threadB接下来先后执行instance = new ... 就会分别给两个线程两个不同的instance了。
课程须知
本课程是 Java 开发课程的高级课程,如果您是新手,建议先移步 《Java入门第一季》和《Java入门第二季》
老师告诉你能学到什么?
1、 了解设计模式 2、 理解单例模式的含义及应用场合 3、 掌握单例模式中饿汉模式和懒汉模式的使用 4、 理解两种模式的区别

微信扫码,参与3人拼团

意见反馈 帮助中心 APP下载
官方微信
友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

举报

0/150
提交
取消