/**
* 线程安全 并且效率高
*
*/
public class SingletonTest {
private static SingletonTest instance;
private SingletonTest() {
}
public static SingletonTest getIstance() {
if (instance == null) {
synchronized (SingletonTest.class) {
if (instance == null) {
instance = new SingletonTest();
}
}
}
return instance;
}
}
引用来自“小馍馍”的评论
我记得不是哦. 我下面这个写法才是执行效率最高的..你这个会有锁, 导致线程阻塞public class SingletonTest{
private static class SingletonTestHandler{
public static final instance = new SingletonTest();
}
private SingletonTest(){}
public SingletonTest instance(){
return SingletonTestHandler.instance();
}
}
public class SingletonTest{
private static class SingletonTestHandler{
public static final instance = new SingletonTest();
}
private SingletonTest(){}
public SingletonTest instance(){
return SingletonTestHandler.instance();
}
}