设计模式之Singleton(单态)
板桥里人 http://www.jdon.com 2002/05/07
定义 :
Singleton模式主要作用是保证在Java应用程序中,一个类Class只有一个实例存在。
如何使用?
第一种形式:
第二种形式:
实现的关键:
1. 将所有的构造函数都设为private ,而且必须显示的指定构造函数(不能设置为默认的,因为默认构造函数是package访问权限)。
2. 注意clone()方法。
例如, 如果基类实现了cloneable接口的话,子类就应该重写该方法。当然,在应用中应该灵活运用各种方法来防止clone()的各种情况。
多线程调用singleton方法:
如果在网络编程中,要注意多线程访问singleton引发的一系列问题:
解决方法1(不推荐):
上面方法的改进版:
解决方法2(推荐 ):