网站首页 > java教程 正文
为什么要熟练掌握单例模式
- 平时用的多
- 面试问的多
什么是单例模式
单例模式是指在系统的生命周期内,某个类只有一个实例对象;
一般来说,这个类的实例对象的获取只有一个全局访问点,用来保证这个类只能有一个实例对象。
单例模式的优点
- 节省内存
- 有利于协调系统整体的行为
比如一个系统的线程池与连接池往往在JDK或者其他库提供的基础之上封装为单例模式实现。或着负责打印任务处理的类等等。
单例模式的实现
- 饿汉式
将构造函数声明为private权限,然后再类的内部通过static公有变量直接初始化,并提供给外界访问。
优点:实现简单
缺点:不能做到延迟加载
- 懒汉式
与饿汉式基本类似,唯一的去别点在于延迟初始化static变量,需要注意的点是考虑并发场景,需要加锁;
优点:做到了延迟加载,但实现相对较复杂,而且涉及到了锁对性能也会略有影响;
- 静态内部类
在延迟加载与实现上做到了比较好的平衡。
- 枚举实现
将枚举视作一个类,枚举里的每一个元素视为这个类的一个实例,那么枚举里的所有方法就可以通过枚举元素调用。具体实现如下:
在延迟加载与实现上做到了比较好的平衡
单例模式的应用场景
- 日志对象
- 计数器
- 线程池&连接池&缓存池等全局性服务类,如果可以用单例实现,优先选用单例
欢迎各位评论补充。
猜你喜欢
- 2024-09-22 带你了解单例模式(Singleton Pattern)的五种写法!
- 2024-09-22 单例模式的常用写法(单例模式三种写法)
- 2024-09-22 GoF之单例模式详解(单例模式在哪里使用)
- 2024-09-22 设计模式之-单例模式(单例设计模式的作用)
- 2024-09-22 Java(面试)——单例模式(java中单例模式的实现)
- 2024-09-22 在Java中实现单例模式(java单例模式实现方式)
- 2024-09-22 Java单例模式(java单例模式双重检查)
- 2024-09-22 Java设计模式之单例模式解析(java 单例模式 例子)
- 2024-09-22 本文将给大家介绍java中设计模式——单例模式
- 2024-09-22 Java设计模式(十八):单例模式(java的单例设计模式)
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- java反编译工具 (77)
- java反射 (57)
- java接口 (61)
- java随机数 (63)
- java7下载 (59)
- java数据结构 (61)
- java 三目运算符 (65)
- java对象转map (63)
- Java继承 (69)
- java字符串替换 (60)
- 快速排序java (59)
- java并发编程 (58)
- java api文档 (60)
- centos安装java (57)
- java调用webservice接口 (61)
- java深拷贝 (61)
- 工厂模式java (59)
- java代理模式 (59)
- java.lang (57)
- java连接mysql数据库 (67)
- java重载 (68)
- java 循环语句 (66)
- java反序列化 (58)
- java时间函数 (60)
- java是值传递还是引用传递 (62)
本文暂时没有评论,来添加一个吧(●'◡'●)