设计模式:单例模式(Singleton)

单例模式(Singleton):单例模式确保一个类只有一个实例,并提供一个全局访问点。

两种方式:

一、饿汉式

package com.kaishengit;

public class Singleton {
	//私有构造方法
	private Singleton(){}
	//提供私有的静态变量
	private static Singleton singleton = new Singleton();
	//提供公有的访问方法
	/**
	 * @return
	 */
	public static Singleton getSingleton(){
		return singleton;
	}
}

 二、懒汉式

package com.kaishengit;

public class Singleton {
	//私有构造方法
	private Singleton(){}
	//提供私有的静态变量
	private static Singleton singleton;
	//提供公有的访问方法
	/**
	 * 采用懒汉式,多线程必须加上线程同步:synchronized
	 * @return
	 */
	public static synchronized Singleton getSingleton(){
		if(singleton == null){
			singleton = new Singleton();
		}
		return singleton;
	}
}
 

ok...

关于单例模式

1>单例模式确保一个类最多只有一个实例(对象)

2>单例模式也提供访问这个实例的全局点

3>在Java实现单例模式需要私有的构造方法,一个私有的静态变量和一个公有的静态方法

4>根据性能和资源上的限制,然后选择合适的单例模式

ok...

猜你喜欢

转载自meigesir.iteye.com/blog/1502669