黑马程序员技术交流社区
标题:
恶汉式单例
[打印本页]
作者:
wenke
时间:
2015-3-12 15:18
标题:
恶汉式单例
前天看多线程时 知道了这个懒汉式单例
class SingalModel_2 {
private static SingalModel_2 instance;
private SingalModel_2() {}
public static SingalModel_2 getInstance() {
if(instance==null) {
synchronized(SingalModel_2.class) {
if(instance==null) {
instance=new SingalModel_2();
}
}
}
return instance;
}
}
想在想想 这个单例对java菜鸟来说 学习性更强 因为它包含的java知识比较多 利于学习过程中的综合掌握 但是和饿汉式
class SingalModel_1 {
private static final SingalModel_1 instance =new SingalModel_1();
private SingalModel_1() {
}
public static SingalModel_1 getInstance() {
return instance;
}
}
相比 懒汉式效率差远了 存在着并发隐患,尽管同步处理了但相比之下还是饿汉式是适用于实际应用 简便快捷
作者:
coolzhou9527
时间:
2015-3-12 19:47
本帖最后由 coolzhou9527 于 2015-3-12 19:50 编辑
老师在讲单例时,就说过这个问题,实际开发时,一般用饿汉式。简单高效。
而懒汉式,一般面试时候,面试官会考,因为懒汉式知识点更多,包含了同步等思想。。。
还有大哥,是饿汉啊,不是恶汉鲁智深哈。。。
作者:
大神在何方
时间:
2015-3-12 20:47
看到这种题目我已经醉了。好难啊。还没学过呢
作者:
Sou男人
时间:
2015-3-12 22:42
所谓懒汉式和饿汉式,顾名思义,懒汉式就是在获取实例的时候,才去创建单例对象,这样会走一系列判断,效率低一点儿,而饿汉式,是一上来就创建对象,在获取单例实例的时候,直接调用这个对象,所以效率高
作者:
夏鹏
时间:
2015-3-12 22:54
看了半天 没有理解你要询问的问题 是我智商不够吗?
作者:
和谐木马
时间:
2015-3-12 23:57
懒汉式听说被考的比较多,包含知识点多!你这也不能算提问,而是感想?……
作者:
Zoe-
时间:
2015-3-13 00:12
我看见恶汉就冲进来了...duang
作者:
王刚岩
时间:
2015-3-13 01:07
public class HurrySingleton { private static final HurrySingleton INSTANCE = new HurrySingleton(); //私有化构造子,阻止外部直接实例化对象 private HurrySingleton(){ } /** * <B>方法描述:</B> * <p style="margin-left:20px;color:#A52A2A;"> * 获取类的单例实例 * @return <span style="color: #008080;"> 返回类的唯一实例 </span> */ public static HurrySingleton getInstance(){ return INSTANCE; } }
作者:
wenke
时间:
2015-3-15 09:36
忘了回复了 通过synchronized 双重if判断 据说可以减少判断锁的次数 有无限的进程都是进入第一个循环后就休眠 那不是一样那么多的进程还是要判断锁 是减少次数 但减少的次数并不明显 可以说这个懒汉式就是效率太低吗
作者:
埗箬
时间:
2015-3-15 10:31
恶汉式。。。。。。!·,·!!
作者:
埗箬
时间:
2015-3-15 10:33
还有啊,老师不是说,最好使用懒汉式吗?虽然恶(饿)汉式比较安全,但是懒汉式由于实现创造了单列对象,也并不是说不安全,只不过是提前费了一些资源而已。
作者:
wenke
时间:
2015-3-15 10:34
懒汉式实现了创造单例对象 是什么意思 恶汉式也实现了创造单例对象 你这个理由不懂
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2