当前位置: 首页 > news >正文

设计模式1-单例模式

设计模式

        设计模式本质上就是一种被广泛认可的、可复用的编程思想和经验总结,它提供了解决特定问题的“最佳实践”模板。(就是众多程序员的经验、总结出来的一套模版或者是思想)

单例模式

定义

        确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例,避免资源浪费。

场景

        ● api调用需要写appkey和appSecret的配置类

        ● 日志系统中的日志类,日志的写入(IO)

        ● 数据库连接

        ● 需要定义大量的静态常量和静态方法(如枚举类或者常量类)

        ● 应用程序的上下文缓存信息APPContext

代码

class Singleton {//懒汉式private static Singleton instance = null;//禁止外部private Singleton(){}//懒汉式1  线程不安全模式public static Singleton getInstance_ThreadNotProtect(){if(instance == null){instance = new Singleton();}return instance;}//懒汉式2 线程安全public static synchronized  Singleton  getInstance_ThreadProtect(){if(instance == null){instance = new Singleton();}return instance;}//饿汉式//优点:实现简单,线程安全。//缺点:不是懒加载,如果这个实例很大且一直没被用到,会造成内存浪费。//为什么会造成内存浪费:这行代码在类初始化时执行,如果没有在后续使用那么这个就造成了无法回收private static Singleton singleton = new Singleton();//public static Singleton getSingleton(){return singleton;}
}

单例模式代码

http://www.lryc.cn/news/627005.html

相关文章:

  • 继续记事本项目
  • 盲盒商城h5源码搭建可二开幸运盲盒回收转增定制开发教程
  • Hyperledger Fabric官方中文教程-改进笔记(十三)-使用测试网络创建通道
  • Google Chrome 扩展不受信任 - 不受支持的清单版本 解决方案
  • 整体设计 之定稿 “凝聚式中心点”原型 --整除:智能合约和DBMS的在表层挂接 能/所 依据的深层套接
  • AR 虚实叠加技术在工业设备运维中的实现流程方案
  • 云原生环境下的ITSM新趋势:从传统运维到智能化服务管理
  • MySQL 50 道经典练习题及答案
  • YOLOv8n-pose 模型使用
  • 学习中需不需要划线、做笔记
  • LLM常见名词记录
  • 【0基础PS】图片格式
  • 奇怪的“bug”--数据库的“隐式转换”行为
  • 深入解析:生产环境 SQL 数据库的架构设计与工程实践
  • 【clion】visual studio的sln转cmakelist并使用clion构建32位
  • 深入理解MySQL Ⅳ -- SQL性能分析工具
  • 欧州服务器String 转 double 有BUG?
  • skyworking 8.9.X 安装配置
  • 云原生俱乐部-RH294知识点归纳(1)
  • 【ElasticSearch实用篇-03】QueryDsl高阶用法以及缓存机制
  • 服务器硬件电路设计之 SPI 问答(二):SPI 与 I2C 的特性博弈及多从机设计之道
  • lesson43:Python操作MongoDB数据库完全指南
  • Eclipse 里Mybatis的xml的头部报错
  • ubuntu privileged cont 一直在读取硬盘
  • 超长视频生成新突破!LongVie框架问世,创作不再受时长限制
  • B站 XMCVE Pwn入门课程学习笔记(7)
  • postman+newman+jenkins接口自动化
  • 【数据结构】排序算法全解析:概念与接口
  • 34-处理https 安全问题或者非信任站点-下
  • TheadLocal相关