侧边栏壁纸
博主头像
Epoch

Java开发、Python爬虫、微服务、分布式、前端

  • 累计撰写 93 篇文章
  • 累计创建 110 个标签
  • 累计收到 8 条评论

目 录CONTENT

文章目录

懒汉式--单例模式优化

Epoch
2022-01-04 / 0 评论 / 0 点赞 / 18,691 阅读 / 212 字 / 正在检测是否收录...

懒汉式–单例模式优化

package com.xmaven.test.designmodel;

/**
 * @Author: Ambition
 * @Description TODO
 * @Date: 2022/1/4 5:23 PM
 * @Version 1.0
 */
public class Singleton {
    
    // 私有化无参数构造方法
    private Singleton() {
    }
    
    // 定义一个私有化静态变量
    private static Singleton sin = null;
    
    // 第一种同步写法
    // 创建开放的静态方法提供实例对象
    private static synchronized Singleton getInstance1() {
        if (null == sin) {
            sin = new Singleton();
        }
        return sin;
    }
    
    // 第二种同步写法
    // 创建开放的静态方法提供实例对象
    private static Singleton getInstance2() {
        synchronized (Singleton.class) {
            if (null == sin) {
                sin = new Singleton();
            }
            return sin;
        }
    }
    
    // 第三种同步方法(优化版本)
    
    /**
     * @Description 每次进来都需要加锁,后面的程序都在进行等待的状态,我们只需要程序第一次进来的时候加锁创建一个对象
     */
    private static Singleton getInstance3() {
        if (null == sin) {
            synchronized (Singleton.class) {
                if (null == sin) {
                    sin = new Singleton();
                }
            }
        }
        return sin;
    }
}

0

评论区