单例设计模式:
定义:
确保一个类只有一个实例,并且自行实例化,并向整个系统提供这个实例。
饿汉式:
class Single {
private static final Single s = new Single();
// 限制产生多个对象
private Single() {
}
// 通过该方法获得实例对象
public Single getInstance() {
return s;
}
// 类中其他方法尽量使用static
public static void say() {
System.out.println("--> only one");
}
}
通过定义一个私有访问权限的构造函数,避免被其他类new出来一个对象。
懒汉式:
考虑到线程同步的问题。
/*懒汉式
* 延迟加载
* */
class Single1
{
private static Single1 s = null;
private Single1() {}
public static Single1 getInstance()
{
if ( s == null)
{
synchronized (Single1.class)
{
if (s == null)
s = new Single1();