A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© zhwfa1991 中级黑马   /  2015-7-9 15:10  /  637 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

这里我们介绍一种简单的设计模式:单例设计模式。什么时候单例设计模式呢?单例模式就是当一个程序只能允许一个对象,这个时候我们就需要使用单例设计模式。单例设计模式分为两种,一种叫做饿汉式,另一种是懒汉式。我们可以将构造函数私有化,这样就禁止了其它程序自行创建对象,在类中自己创建一个本类对象,然后在自己创建一个方法让其它程序获得该对象。饿汉式具体代码:private Single();private static Single s=new Single();public staticSingle getInstance(){return s};我们每次返回的都是对象s,无论你接收多少个对象,指向的都是同一个地址。懒汉式是在需要的时候在创建对象:private static Single s=null;private Single();public static Single getInstance(){if s==null   s=new Single(); return s;}但是这个在判断的时候有点问题,因为CPU访问进程的时候是间断的,只是因为时间太短,我们感觉不出来而已。当访问到if那一句是如果间断了,然后又进来一个进程判断,这时候如果继续就有可能导致两个对象被建立,所以一般我们都有饿汉式,当然这个我们也有解决方法,就是在这个方法上加一个锁public static  SinglegetInstance(){if(s==null){SinglegetInstance(Single.class){if(s==null) s=new Single();}}return s;}

1 个回复

倒序浏览
学习了。。。。。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马