首页 > 编程开发 > Java    日期:2022-01-09 / 浏览

目录

一、之前旧的写法

class Singleton{
    private Singleton() {}
    private static Singleton instance = null;
    public synchronized static Singleton getInstance() {
            if (instance == null) {
                instance = new Singleton();
            }
            return instance;
        }
}

就利用Sington.getInstace就可以了,获得的是同一个实例。

上面那个代码有两个优点:

  • 懒加载,把在堆创建实例这个行为延迟到类的使用时。
  • 锁效果,防止生成多个实例,因为synchronized修饰这个static方法,所以相当于给这个方法加上了一个类锁

    觉得上面的内容有用吗?快来点个赞吧!

    点赞() 我要打赏

    温馨提示 : 本站内容来自会员投稿以及互联网,所有源码及教程均为作者总结编辑,请大家在使用过程中提前做好备份,以免发生无法预知的错误,源码类教程请勿直接用于生产环境!

 可能感兴趣的文章