在开发过程中,有时需要保证摸个对象只有一个,此时我们需要用到单件模式。
eg.
[quote][color=blue]package singleton;
/**
* @author Aqiu
* @version 1.0
*
*/
public class Singleton {
/**
* volatile 双重锁检查,保证singleton对象只被初始化一次,已被多线程的情况下出问题。
*/
private volatile static Singleton singleton;
/**
* 私有构造函数。
*/
private Singleton(){
//TODO 初始化工作
}
/**
* 获取Singleton对象的静态的类方法。
*
* @return Singleton对象。
*/
public static Singleton getInstance(){
if(singleton == null){
synchronized (Singleton.class) {
if(singleton == null){
singleton = new Singleton();
}
}
}
return singleton;
}
}[/color][/quote]
eg.
[quote][color=blue]package singleton;
/**
* @author Aqiu
* @version 1.0
*
*/
public class Singleton {
/**
* volatile 双重锁检查,保证singleton对象只被初始化一次,已被多线程的情况下出问题。
*/
private volatile static Singleton singleton;
/**
* 私有构造函数。
*/
private Singleton(){
//TODO 初始化工作
}
/**
* 获取Singleton对象的静态的类方法。
*
* @return Singleton对象。
*/
public static Singleton getInstance(){
if(singleton == null){
synchronized (Singleton.class) {
if(singleton == null){
singleton = new Singleton();
}
}
}
return singleton;
}
}[/color][/quote]