1、双重校验锁(JDK1.5版本之后)
public class Singleton
{
private volatile static Singleton singleton;
private Singleton(){
}
public static Singleton getSingleton(){
if(singleton == null){
synchronized(Singleton.class){
if(singleton == null){
singleton = new Singleton();
}
}
}
return singleton;
}
}2、静态内部类
public class Singleton {
private static class SingletonHolder {
private static final Singleton INSTANCE = new Singleton();
}
private Singleton (){}
public static final Singleton getInstance() {
return SingletonHolder.INSTANCE;
}
}本文出自 “阿酷博客源” 博客,谢绝转载!
原文:http://aku28907.blog.51cto.com/5668513/1840139