JavaSE:单例设计模式
2021/6/30 11:21:17
本文主要是介绍JavaSE:单例设计模式,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
1. 懒汉式
1 public static Singleton { 2 3 // 2. 声明本类类型的引用,指向本类类型的对象 4 // 使用private static 关键字修饰 5 private static Singleton sin = null; 6 7 // 1. 私有化构造方法,使用private关键字修饰 8 private Singleton(){} 9 10 // 3. 提供公有的get方法,负责将sin对象返回出去 11 // 使用public static 关键字修饰 // 缺点: 没有进行线程同步的处理, 可能出现创建多个Singleton对象的情况(违背单例模式) public static Singleton getInstance() { 13 if(null == sin){ 14 sin = new Singleton(); 15 } 16 return sin; 17 } 18 }
2. 懒汉式 (线程同步)
1 public class Singleton { 2 3 // 2.声明本类类型的引用指向本类类型的对象并使用private static关键字修饰 4 private static Singleton sin = null; 5 6 // 1.私有化构造方法,使用private关键字修饰 7 private Singleton() {} 8 9 // 3.提供公有的get方法负责将上述对象返回出去,使用public static关键字修饰 10 public static /*synchronized*/ Singleton getInstance() { 11 /*synchronized (Singleton.class) { 12 if (null == sin) { 13 sin = new Singleton(); 14 } 15 return sin; 16 }*/ 17 if (null == sin) { 18 synchronized (Singleton.class) { 19 if (null == sin) { 20 sin = new Singleton(); 21 } 22 } 23 } 24 return sin; 25 } 26 }
这篇关于JavaSE:单例设计模式的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-10-06小米11i印度快充版ROM合集:极致体验,超越期待
- 2024-10-06【ROM下载】小米11i 5G 印度版系统, 疾速跃迁,定义新速度
- 2024-10-06【ROM下载】小米 11 青春活力版,青春无极限,活力全开
- 2024-10-05小米13T Pro系统合集:性能与摄影的极致融合,值得你升级的系统ROM
- 2024-10-01基于Python+Vue开发的医院门诊预约挂号系统
- 2024-10-01基于Python+Vue开发的旅游景区管理系统
- 2024-10-01RestfulAPI入门指南:打造简单易懂的API接口
- 2024-10-01初学者指南:了解和使用Server Action
- 2024-10-01Server Component入门指南:搭建与配置详解
- 2024-10-01React 中使用 useRequest 实现数据请求