zoukankan      html  css  js  c++  java
  • 设计模式——单例模式

    设计模式(Design Pattern)

      是一套被反复使用、多数人知晓的、经过分类编目、代码设计经验的总结。

    目的

      让代码更容易被他人理解、保证代码可靠性。  


    单例模式:

      应用场合:有些对象我们只需要一个,比如:配置文件、工具类、线程池、缓存、日志对象等。如果创造出多个实例,就会导致很多问题,比如占用资源过多,不一致的结果等等。

      作用:保证整个应用程序中某个实例有且只有一个

      类型:饿汉模式、懒汉模式

    •    饿汉模式
    Public class Sington  {
        // 1.将构造方法私有化,不允许外部直接创建对象
        private Sington() {}
    
       // 2. 创建类的唯一实例   用 private static 修饰
         private static Sington instance = new Sington() ; 
        
        //3. 提供一个用于获取实例的方法
        public static Singleton getInstance(){
            return instance;
        }   
    }    
    

      

    •    懒汉模式  ——相比于饿汉模式,懒汉模式开始只是先声明实例,并没有被初始化,其次在提供获取实例的方法中判断实例是否为空,空则创建,非空则直接返回。
    Public class Sington  {
        // 1.将构造方法私有化,不允许外部直接创建对象
        private Sington() {}
    
       // 2. 创建类的唯一实例
         private static Sington instance ; 
        
        //3. 提供一个用于获取实例的方法
        public static Singleton getInstance(){
         if(instance == null){
           instance = new Sington();
         } return instance; } }

       区别

        饿汉模式的特点是加载类时比较慢,但运行时获取对象的速度比较快。 线程安全

        懒汉模式的特点是加载类时比较快,单运行时获取对象的速度比较慢。线程不安全

      

      

  • 相关阅读:
    TCP/IP(四)网络层
    TCP/IP(二)物理层详解
    TCP/IP(一)之开启计算机网络之路
    TCP/IP中你不得不知的十大秘密
    ASP .NET Core 基本知识点示例 目录
    微服务 + Docker + Kubernetes 入门实践 目录
    ASP.NET Core 中的实时框架 SingalR
    ASP.NET Core WebAPI中使用JWT Bearer认证和授权
    .NET Core 中的通用主机和后台服务
    EF Core 实现多租户
  • 原文地址:https://www.cnblogs.com/isdxh/p/8484069.html
Copyright © 2011-2022 走看看