单例设计模式
保证对象的不变性。在某种情况你可能需要多个地方取得同一个对象。这个时候你可以使用单例模式。
第一种方式:饿汉式 线程安全,调用效率高,但是不能延时加载。
缺点:如果你不适用这个类,他还是加载了。
public class Test{
private static static Test test=new Test;
public Test(){
}
public static Test getInstance(){
return test;
}
}
第二种方式:懒汉式 线程安全,调用效率不高,可以延时加载。
public class Test{
private static Test test;
public Test(){
}
public static synchronized Test getInstance(){
if(test==null){
test=new Test();
}
return test;
}
}
第三种方式: 静态内部类实现模式 线程安全,调用效率高,可以延时加载
public class Test{
private static class SingletonClassInstance{
private static final Test test=new Test();
}
public Test(){
}
public static Test getInstance(){
return SingletonClassInstance.test;
}
}
综上给出三种单例模式设计风格,也可以看出我们使用第三种是比较好的。