zoukankan      html  css  js  c++  java
  • 设计模式之单例模式(Singleton)

    单例模式

    单例模式分为饿汉式和懒汉式,通过构造方法私有化,类内部提供static方法获取实例化对象,这样不管外部如何操作永远都只有一个实例化对象

    饿汉式:

    class Singleton {
        private static final Singleton INSTANCE = new Singleton();
    
        private Singleton() {}
    
        public static Singleton getInstance() {
              return INSTANCE;
        }
    
        public void print() {
              System.out.println("singleton");
        }
    }
    
    public class SingletonDemo {
    
        public static void main(String[] args) {
              Singleton instance = null;
              instance = Singleton.getInstance();
              instance.print();
        }
    
    }
    
    特点:(立即加载)在系统加载类的时候就会自动提供Singleton类的实例化对象

    属性是在有实例化对象产生之后才会被调用的,如果外部无法产生实例化对象,那就可以用上static

    懒汉式:

    class Singleton {
        private static Singleton instance;
    
        private Singleton() {}
    
        public static Singleton getInstance() {
              if(instance == null){
                    instance = new Singleton();
              }
              return instance;
        }
    
        public void print() {
              System.out.println("singleton");
        }
    }
    
    public class SingletonDemo {
    
        public static void main(String[] args) {
              Singleton instance = null;
              instance = Singleton.getInstance();
              instance.print();
        }
    
    }
    
    特点:(延迟加载)在第一次使用的时候进行实例化对象处理
  • 相关阅读:
    计算SQL语句运行速度
    SQL 分页 语句
    RDLC 显示 错误号 的解决办法
    ASP.NET 编写控件的一些常用属性
    自己写的JS数组插入方法
    javascript textarea MaxLength 属性的实现
    table 样式
    AviCap
    C# 遍历枚举
    JS 获取网页内容高度 和 网页可视高度 支持IE 6789 Firefox Chrome
  • 原文地址:https://www.cnblogs.com/cnyl/p/13629819.html
Copyright © 2011-2022 走看看