Singleton模式主要作用是保证在Java应用程序中,一个类Class只有一个实例存在。
主要用于连接池的设计。。
如:形式一
- public
class
Singleton { -
private
static
Singleton st =
new
Singleton(); -
private
Singleton(){} -
public
static
Singleton getInstance(){ -
return
st; - }
- }
形式二:lazy initialization
- public
class
Singleton { -
private
static
Singleton st =
null
; -
private
Singleton(){} -
public
static
synchronized Singleton getInstance(){ -
if
(st ==
null
) - st =
new
Singleton(); -
return
st; - }
- }
注意第二种方法用了synchronized关键字,而且并不是每次都生成对象,使用时提高了生成实例的效率,但一般认为形式一更为安全些。