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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© zhaogang 初级黑马   /  2014-3-14 14:03  /  870 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

大家好,我想咨询下,java中的单例设计模式,我看了视频但是一直没太明白这个是干嘛用的,我知道分2种有懒汉式和饿汉式,但是什么时候需要用到单例设计模式呢,哪个更常用一些呢,很费解,希望各位大神赐教!!

3 个回复

倒序浏览
单例模式也是一种比较常见的设计模式,它到底能带给我们什么好处呢?
其实无非是三个方面的作用:
第一、控制资源的使用,通过线程同步来控制资源的并发访问;
第二、控制实例产生的数量,达到节约资源的目的。
第三、作为通信媒介使用,也就是数据共享,它可以在不建立直接关联的条件下,让多个不相关的两个线程或者进程之间实现通信。
比如,数据库连接池的设计一般采用单例模式,数据库连接是一种数据库资源

评分

参与人数 1技术分 +1 收起 理由
菜小徐 + 1

查看全部评分

回复 使用道具 举报
单例设计模式:解决一个类在内存只存在一个对象。
想要保证对象唯一。
1,为了避免其他程序过多建立该类对象。先禁止其他程序建立该类对象
2,还为了让其他程序可以访问到该类对象,只好在本类中,自定义一个对象。
3,为了方便其他程序对自定义对象的访问,可以对外提供一些访问方式。
当需要将该事物的对象保证在内存中唯一时,就要使用单例模式了

饿汉式是线程安全的,在类创建的同时就已经创建好一个静态的对象供系统使用,以后不在改变
懒汉式如果在创建实例对象时不加上synchronized则会导致对对象的访问不是线程安全的
推荐使用第一种

评分

参与人数 1技术分 +1 收起 理由
菜小徐 + 1

查看全部评分

回复 使用道具 举报
你去看一下张孝祥老师的高新技术视频的银行业务调度系统,那里面有一个NumberMachine,这个NumberMachine就是通过单例模式设计出来的。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马