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

Posted hckblogs

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了设计模式一:饱汉式单例(双重锁)相关的知识,希望对你有一定的参考价值。

一.简介

单例的目的保证该对象只能存在一个,只有应用场景相当多,列如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);
    }
      
}

测试结果:

技术图片

 

以上是关于设计模式一:饱汉式单例(双重锁)的主要内容,如果未能解决你的问题,请参考以下文章

单例设计模式

设计模式之单例模式详解和应用

Java单例模式详解

java设计模式--单例模式

设计模式-单例

单例模式(转)