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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 王燕飞 中级黑马   /  2014-11-13 21:23  /  880 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

该是一种常用的设计模式。在Java应用中,单例对象能保证在一个JVM中,该对象只有一个实例存在。这样的模式有几个好处:

1、某些类创建比较频繁,对于一些大型的对象,这是一笔很大的系统开销。

2、省去了new操作符,降低了系统内存的使用频率,减轻GC压力。

3、有些类如交易所的核心交易引擎,控制着交易流程,如果该类可以创建多个的话,系统完全乱了。


饿汉式单例和懒汉式单例是两种比较主流和常用的单例模式方法,详情请参考毕老师java基础视频面向对象系列对该模式的讲解,这里我就不赘述了。


如果考虑到多线程,并注重效率的话,建议采用下图这种方式,因为我们只需要在创建类的时候进行同步,所以只要将创建和getInstance()分开,单独为创建加synchronized关键字,整个程序只需创建一次实例,所以性能也不会有什么影响。




QQ截图20141113211550.jpg (82.42 KB, 下载次数: 2)

QQ截图20141113211550.jpg

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马