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

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

难度中级
时长30分
学习人数
综合评分9.63
276人评价 查看评价
9.8 内容实用
9.6 简洁易懂
9.5 逻辑清晰

最赞回答 / leowei
因为只有对象才能调用equals 方法!刚开始你的对象是null没有指向对象,哪来的方法啊!equals 是属于对象的! 

最赞回答 / 0x0wh04m1
因为这个类在加载的时候就实例化了,就算thread1和thread2同时获取它,取到的是类加载时实例化的那个变量的值,所以说是线程安全的;而懒汉式线程不安全,因为有可能thread1在if(instance==null)判断为真时进入了if体里但又没开始实例化,而这时thread2也进来了,最终就会有2个实例了。

最新回答 / sunny1334
从第一章的第一节03分:05秒开始看,应用场合:对象只需要一个;作用:就是保证整个应用程序中某个实例有且仅有一个。

最新回答 / 你的梦想
是的,枚举用的比较多,比如定义事物的不同的状态

最赞回答 / weibo_SecturityE_0
使用JVM本身机制保证了线程安全问题;由于 SingletonHolder 是私有的,除了 getInstance() 之外没有办法访问它,因此它是懒汉式的;同时读取实例的时候不会进行同步,没有性能缺陷

最新回答 / AAnonymous
这个问题好功能上应该是可以用全局变量代替单例的但是Java并不建议使用全局变量http://stackoverflow.com/questions/4646577/global-variables-in-java

最赞回答 / 凌澜星空
单线程的时候使用懒汉式,能节省一点点的内存空间,多线程的时候使用饿汉式,能防止多线程导致的错误。

最赞回答 / Tips
老师只在类里面创建了一个实例,我只给第一个(饿汉模式)说明一下:1.老师先在第一步中创建一个实例:instance          要说明的是instance相当于一个人的姓名,就像刚出生的孩子我们会给他取一个称呼叫‘张三’,new的一个实例(对象)我们也要给他取一个名字叫‘instance’.那么我们就可以用instance来确定,它就是那个新建的实例。2.然后老师在第三步给出了一个方法(这是一个静态的开放权限的方法,可以通过类名直接调用):这个方法反回了instance(相当于人的名字,而不是那个具...

最赞回答 / 伊兮尘昔
饿汉式是线程安全的,在类创建的同时就已经创建好一个静态的对象供系统使用,以后不在改变          懒汉式如果在创建实例对象时不加上synchronized则会导致对对象的访问不是线程安全的
课程须知
本课程是 Java 开发课程的高级课程,如果您是新手,建议先移步 《Java入门第一季》和《Java入门第二季》
老师告诉你能学到什么?
1、 了解设计模式 2、 理解单例模式的含义及应用场合 3、 掌握单例模式中饿汉模式和懒汉模式的使用 4、 理解两种模式的区别

微信扫码,参与3人拼团

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

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

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

举报

0/150
提交
取消