zoukankan      html  css  js  c++  java
  • 设计模式一:饱汉式单例(双重锁)

    一.简介

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

    测试结果:

  • 相关阅读:
    LeetCode
    LeetCode
    控制反转(Ioc)
    KMP算法
    *&m与m的区别
    函数指针与函数指针数组的使用方法
    C++四种类型转换
    内存分配:堆内存,栈内存
    汇编 基础
    i++,++i 作为参数
  • 原文地址:https://www.cnblogs.com/hckblogs/p/10423234.html
Copyright © 2011-2022 走看看