该是一种常用的设计模式。在Java应用中,单例对象能保证在一个JVM中,该对象只有一个实例存在。这样的模式有几个好处: 1、某些类创建比较频繁,对于一些大型的对象,这是一笔很大的系统开销。 2、省去了new操作符,降低了系统内存的使用频率,减轻GC压力。 3、有些类如交易所的核心交易引擎,控制着交易流程,如果该类可以创建多个的话,系统完全乱了。
饿汉式单例和懒汉式单例是两种比较主流和常用的单例模式方法,详情请参考毕老师java基础视频面向对象系列对该模式的讲解,这里我就不赘述了。
如果考虑到多线程,并注重效率的话,建议采用下图这种方式,因为我们只需要在创建类的时候进行同步,所以只要将创建和getInstance()分开,单独为创建加synchronized关键字,整个程序只需创建一次实例,所以性能也不会有什么影响。
|