• 设计模式——单例模式


     1 package cn.xiaoxiong.threadDemo;
     2 
     3 /**
     4  * 单例模式
     5  * @author user
     6  *
     7  */
     8 
     9 public class SingletonPattern {
    10 
    11     public static void main(String[] args) {
    12         //懒汉模式
    13         SingletDemo01 sd1 = SingletDemo01.getInstance();
    14         SingletDemo01 sd2 = SingletDemo01.getInstance();
    15         SingletDemo01 sd3 = SingletDemo01.getInstance();
    16         SingletDemo01 sd4 = SingletDemo01.getInstance();
    17         System.out.println("**************************************");
    18         SingleDemo02 s1 = SingleDemo02.getInstance();
    19         SingleDemo02 s2 = SingleDemo02.getInstance();
    20         SingleDemo02 s3 = SingleDemo02.getInstance();
    21         SingleDemo02 s4 = SingleDemo02.getInstance();
    22     }
    23 
    24 }
    25 
    26 /**
    27  * 单例模式:懒汉模式
    28  * @author user
    29  *
    30  */
    31 class SingletDemo01{
    32     //饿汉式
    33     //定义静态私有的对象,并实例化
    34     private static SingletDemo01 sd1 = new SingletDemo01();
    35     
    36     //创建私有构造函数
    37     private SingletDemo01(){
    38         System.out.println("调用构造函数(饿汉模式)");
    39     }
    40     
    41     //创建公用静态方法对当前私有静态成员进行回调
    42     public static SingletDemo01 getInstance(){
    43         
    44         return sd1;
    45     }
    46     
    47 }
    48 
    49 
    50 class SingleDemo02{
    51     //懒汉式
    52     //定义静态私有对象,但不实例化,当调用公用静态方法时实例化对象。
    53     private static SingleDemo02 sd = null;
    54     
    55     //创建私有化构造函数
    56     private SingleDemo02(){
    57         System.out.println("调用构造函数(懒汉模式)");
    58     }
    59     
    60     //创建公用静态方法,用于回调实例化对象
    61     public static SingleDemo02 getInstance(){
    62         if(sd==null){
    63             sd = new SingleDemo02();
    64         }
    65         return sd;
    66     }
    67 }

    执行结果:

  • 相关阅读:
    istio kiali 亲和性调度
    istio kiali 内部介绍
    istio kiali 可视化bookinfo
    Istio 部署Bookinfo 应用
    初探istio kiali
    安装Istio
    Istio 是什么?
    AQS源码浅析
    go 单元测试testify
    go unknown revision报错
  • 原文地址:https://www.cnblogs.com/rsdqc/p/5388961.html
Copyright © 2020-2023  润新知