Crazy For You
BlogJava
::
首页
::
联系
::
聚合
::
管理
随笔分类
(11)
EJB
Java Web(4)
JavaMail
JavaScript
JDBC
JNI
JPA/Hibernate/*(1)
JSF
JSP/Servlet
Spring(3)
Struts2
XML
书籍推荐(1)
其他
搜索引擎
英语(1)
设计模式(1)
软件工程
最新评论
设计模式_单例模式_Singleton Pattern
SINGLETON
单例模式 :
(1) Eager 饿汉模式 : 仅适用于 Java ;
public
class
EagerSingleton
{
//
类被加载时,静态变量就被初始化
private
static
EagerSingleton ourInstance
=
new
EagerSingleton();
/** */
/**
* 外界只能通过此方法获得自身的实例
*
@return
SingletonDemo
*/
public
static
EagerSingleton getInstance()
{
return
ourInstance;
}
/** */
/**
* 构造函数对外不可见
* 单例模式最显著的特点
*/
private
EagerSingleton()
{
}
}
(2) Lazy 懒汉模式 : 适用于Java,C++ (因为static 代码块的执行顺序c++不固定,java是固定的,在构造方法之前)
public
class
LazySingleton
{
//
类被加载时,静态变量不会被初始化
private
static
LazySingleton lazySingleton
=
null
;
/** */
/**
* 默认构造函数 是 private
* 防止外界调用,同时此类也不能被继承
*/
private
LazySingleton()
{
}
/** */
/**
* synchronized :同步化
*
@return
*/
synchronized
public
static
LazySingleton getInstance()
{
if
(lazySingleton
==
null
)
{
lazySingleton
=
new
LazySingleton();
}
return
lazySingleton;
}
}
posted on 2010-10-18 14:09
叶建锁
阅读(183)
评论(0)
编辑
收藏
所属分类:
设计模式
Copyright @ 叶建锁
Powered by:
.Text
and
ASP.NET
Theme by:
.NET Monster