【设计模式】01.单例模式
来源:互联网 发布:rdlc 分组小计源码 编辑:程序博客网 时间:2024/06/07 12:30
1.单例模式(Singleton):单例模式(Singleton):表示一个类只会生成唯一的一个对象。
public class SingletonTest { public static void main(String[] args){ Singleton singleton = Singleton.getInstance(); Singleton singleton2 = Singleton.getInstance(); System.out.println(singleton == singleton2); }}
懒汉模式
class Singleton{ private static Singleton singleton; //静态方法可以调用 private Singleton(){ //构造方法私有, 类外部不可以调用创建对象 } public static Singleton getInstance(){ //(static)不使用对象,使用类名就可以调用 if(singleton == null){ //多线程时会有错,要注意, synchronized(Singleton.class){ if(singleton == null){ singleton = new Singleton(); } } } return singleton; }}
饿汉模式
class Singleton{ private static Singleton singleton = new Singleton(); //静态方法可以调用,类加载时即创建实例 private Singleton(){ //构造方法私有, 类外部不可以调用创建对象 } public static Singleton getInstance(){ //(static)不使用对象,使用类名就可以调用 return singleton; }}
对于单例模式(Singleton)来说,如果在getInstance()方法中生成Singleton实例则可能会产生同步问题,即可能会生成两个不同的对象。
阅读全文
0 0
- 【设计模式】01.单例模式
- 设计模式------单例模式
- 设计模式------单例模式
- 设计模式-单例模式
- 设计模式 - 单例模式
- 设计模式---单例模式
- 设计模式---单例模式
- 【设计模式】单例模式
- 设计模式-单例模式
- 设计模式----单例模式
- 设计模式--单例模式
- 设计模式-单例模式
- 设计模式-单例模式
- [设计模式] 单例模式
- 设计模式--单例模式
- 设计模式---单例模式
- 设计模式--单例模式
- 设计模式 -----单例模式
- 【图像分割】NVIDIA深度学习训练系统——实现图像分割与网络分割可视化
- 经典OJ推荐
- noip2017 day1t1 小凯的疑惑(扩展欧几里得写法)
- Java链接OPC读写数据
- Signal ()函数详细介绍 Linux函数
- 【设计模式】01.单例模式
- 总结const的用法
- js数据类型
- 算法之七大排序
- bat字符串位数计算的最佳方法
- linux内存管理概述(分段分页机制)
- 判断一个链表是否回文(每日一道算法题)
- HttpClient使用MultipartEntityBuilder实现多文件上传
- java的消息推送