java 单例

原创
2016/07/15 18:18
阅读数 46

/**
 * 线程安全  并且效率高
 *
 */
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;
    }
}

展开阅读全文
打赏
0
5 收藏
分享
加载中
zvc888博主

引用来自“小馍馍”的评论

我记得不是哦. 我下面这个写法才是执行效率最高的..你这个会有锁, 导致线程阻塞
public class SingletonTest{
private static class SingletonTestHandler{
public static final instance = new SingletonTest();
}
private SingletonTest(){}

public SingletonTest instance(){
return SingletonTestHandler.instance();
}
}
这样写可以保证多个线程访问不会出现问题0
2016/07/16 11:22
回复
举报
我记得不是哦. 我下面这个写法才是执行效率最高的..你这个会有锁, 导致线程阻塞
public class SingletonTest{
private static class SingletonTestHandler{
public static final instance = new SingletonTest();
}
private SingletonTest(){}

public SingletonTest instance(){
return SingletonTestHandler.instance();
}
}
2016/07/16 11:16
回复
举报
zvc888博主
自己顶2
2016/07/15 18:20
回复
举报
更多评论
打赏
3 评论
5 收藏
0
分享
返回顶部
顶部