1.手写单例(饿汉式)
- List item
优点:没有加锁,执行效率高
缺点:类加载时就初始化,浪费内存
class SingleObj{
//私有变量
private static SingleObj single=new SingleObj();
//私有构造函数 不能被实例化
private static SingleObj(){ };
public static SingleObj getInstance(){
return single;
}
}
2.手写单例(饿汉式)
优点:第一次调用才初始化,避免浪费内存
缺点:加锁了执行效率低
class Singleton{
private static Singleton single;
private static Singleton(){ };
public static synchronized Singleton getInstance(){
if(single==null){
single=new Singleton();
return single;
}
}
}