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

    1. 概念:保证一个类仅有一个实例,并提供一个访问它的全局访问点。

    2. UML图:

    3.代码:

    (1)懒汉模式:只有在自身需要的时候才会创建。运行时获得对象,它在整个应用的生命周期只有一部分时间在占用资源。  

    public class Singleton 
    {
      private static Singleton singletonInstance;
    
      private Singleton() 
      {
      }
    
      public static synchronized Singleton GetInstance() 
      {
        if (singletonInstance == null) 
        {
          singletonInstance = new Singleton();
        }
        return singletonInstance;
      }
    }
    

    (2)饿汉模式:在类加载的时候就立即创建对象。加载类的时候创建对象,它从加载到应用结束会一直占用资源。

    public class Singleton 
    {
      private static Singleton singletonInstance=new Singleton();
    
      private Singleton() 
      {
      }
    
      public static Singleton GetInstance() 
      {
        return singletonInstance;
      }
    }
    

    4.应用场景:

    •    PC机中可能有几个串口,但只能有一个COM1口的实例。
    •    系统中只能有一个窗口管理器或任务管理器。
    •  --------------------------------------------------------------------

      PS: 欢迎关注公众号"Devin说",会不定期更新Java相关技术知识。

      --------------------------------------------------------------------

  • 相关阅读:
    mysql函数
    存储过程1
    linux下手动安装git教程
    python离线安装外部依赖包
    自动代码质量分析(GitLab+JenKins+SonarQube)
    Jenkins定时构建和轮询SCM设置说明
    jenkins
    linux在当前目录下根据文件名查找文件
    elastic search报错——“failed to obtain node locks”
    linux下rpm包安装、配置和卸载mysql
  • 原文地址:https://www.cnblogs.com/devinzhang/p/2286350.html
Copyright © 2011-2022 走看看