设计模式一:饱汉式单例(双重锁)

一.简介

单例的目的保证该对象只能存在一个,只有应用场景相当多,列如jedisUtils..

二.代码

测试代码如下:

/**
 * @ClassName: SingeTest
 * @Description: 饱汉式单例
 * @author: ck
 * @date: 2019年2月23日 下午3:37:47
 */
public class SingeTest {

	public  static  SingeTest singeTest=null;
     // 将构造方法私有化,使其只能通过getSingeTestInstance方法实例化 private SingeTest() {} public static SingeTest getSingeTestInstance() { //判断是否初始化过,初始化过则直接返回对象 if(singeTest==null) { //加锁 synchronized (SingeTest.class) { //双重锁,判断是否为空 if(singeTest==null) { singeTest = new SingeTest(); } } } return singeTest; } }
public class MainSinge {
    
      public static void main(String[] args) {
          SingeTest singeTest1 = SingeTest.getSingeTestInstance();
          SingeTest singeTest2 = SingeTest.getSingeTestInstance();
          System.out.println(singeTest1==singeTest2);
    }
      
}

测试结果:

猜你喜欢

转载自www.cnblogs.com/hckblogs/p/10423234.html