单例的两种线程安全实现
2011-04-09 星期六 多云 闷热
1. 利用static final进行启动时加载
例子:
public class Configuration{
private static final Configuration instance = new Configuration();
private Configuration(){} // 似有的构造函数,确保单例
public static Configration getInstance(){ return instance; }
}
2. Lazy Loaded
public class Configuration{
private Configuration instance;
private Configuration() { }
Syncrinize public static Configuration getInstance(){
if(instance == null){
instance = new Configuration();
}
return instance;
}
}