【随笔】设计模式-单例模式
来源:互联网 发布:淘宝秒杀白菜群 编辑:程序博客网 时间:2024/05/16 07:57
概念:
一个类有且只有一个实例;
实现方式:
两种方式,饿汉模式和懒汉模式
1:饿汉模式
1:设置类的构造函数修饰符为 private
2:声明一个 private 的类对象,并且实例化对象
3:创建一个 public static 的 getInstance 方法,返回值为第二步实例化的对象
4:通过对象 .getInstance 方法得到对象,而且重复获得对象的地址一致
public class Singleton { /* 持有私有静态实例,防止被引用 */ private static Singleton instance = new Singleton(); /* 私有构造方法,防止被实例化 */ private Singleton() { } /* 静态工程方法,创建实例 */ public static Singleton getInstance() { return instance; } }
2:懒汉模式:
1:和饿汉一致
2:声明一个 private 的类对象,不实例化对象
3:创建一个 public static 的 getInstance 方法,方法中先判断对象是否存在,如果不存在,则实例化对象,如果存在,则直接返回对象
4:通过对象.getInstance 方法得到对象,与饿汉模式一致
public class Singleton { /* 持有私有静态实例,防止被引用,此处赋值为null,目的是实现延迟加载 */ private static Singleton instance = null; /* 私有构造方法,防止被实例化 */ private Singleton() { } /* 静态工程方法,创建实例 */ public static Singleton getInstance() { if (instance == null) { instance = new Singleton(); } return instance; } }
两种模式的区别:
1:饿汉模式是线程安全的,懒汉模式是线程不安全的
2:饿汉模式在类加载时比较慢,但是获取对象时比较快;而懒汉模式在类加载时比较快,获取对象时比较慢;因为饿汉模式在类加载的时候会实例化对象,而懒汉模式在第一次获得对象时实例化对象
阅读全文
0 0
- 【随笔】设计模式-单例模式
- 单例模式 随笔
- 设计模式随笔-单件模式
- 设计模式------单例模式
- 设计模式------单例模式
- 设计模式-单例模式
- 设计模式 - 单例模式
- 设计模式---单例模式
- 设计模式---单例模式
- 【设计模式】单例模式
- 设计模式-单例模式
- 设计模式----单例模式
- 设计模式--单例模式
- 设计模式-单例模式
- 设计模式-单例模式
- [设计模式] 单例模式
- 设计模式--单例模式
- 设计模式---单例模式
- IIS、Asp.net 编译时的临时文件路径
- java设计模式之策略模式
- 【JAVA 提高班之六】Java泛型
- 模拟退火算法解100城市以上的TSP问题
- 序列化和反序列化
- 【随笔】设计模式-单例模式
- 异步与多线程的区别
- Spring Cloud入门之Zuul
- 指针和内存错误
- 化繁为简之simplepopupwindow
- ajax总结一
- Bootstrap——标准模板
- ubuntu下安装GPGME库
- 无法登陆某些网站的解决方法