笔记整理之设计模式 I
来源:互联网 发布:水晶机巧矩阵黄晶 编辑:程序博客网 时间:2024/06/05 16:36
设计模式 I 之 单例模式(Singleton)
单例模式是所有设计模式中最简单暴力的模式,没有之一。
单例模式的特点:
1. 单例类仅有一个实例
2. 单例类自行实例化
3. 单例类向外提供唯一的访问接口
据于单例模式的上述特点,单例类适用于以下场景或者有益于解决以下问题:
1. 对于创建频繁且类的定义庞大繁杂的对象,频繁的实例化开销太大,可以考虑单例设计,减少JVM内存调用频次 和 GC的压力。
2. 对于功能单一且需要对资源集中管控,或者需要唯一约束和管控的对象。譬如计算机的资源管理器,打印接口,系统的核心流程管控等。
单例模式的实现:
实现[1]:
public class Singleton{
private Singleton(){
};
public static Singleton self = null;
public static Singleton singletonInstance() {
if(self == null) {
Singleton singleInstance = new Singleton();
}
return singleInstance;
}
}
实现[2]:
public class Singleton{
private Singleton(){
};
private final static Singleton singleInstance = new Singleton();
public static Singleton singletonInstance () {
return singleInstance;
}
}
实现[3]:线程安全的单例,通过利用JVM类加载过程线程互斥的特性实现。
public class Singleton{
private Singleton() {
};
private static class singletonFactory() {
private static Singleton singletonInstance = new Singleton();
}
public static Singleton instance(){
return singletonFactory.singletonInstance;
}
}
- 笔记整理之设计模式 I
- 设计模式之简单工厂模式(整理笔记)
- 设计模式2之策略模式(整理笔记)
- 个人笔记整理-java设计模式之单例模式
- 个人笔记整理-java设计模式之策略模式
- 个人笔记整理-java设计模式之状态模式
- [设计模式整理笔记 一] 基础知识
- JAVA设计模式笔记整理(一)
- JAVA设计模式笔记整理(二)
- JAVA设计模式笔记整理(三)
- JAVA设计模式笔记整理(四)
- 设计模式--有道笔记的整理
- java I/O之装饰设计模式
- 每天一整理-java设计模式之工厂模式模式
- [设计模式整理笔记 二] 简单工厂模式(Simple Factory)
- [设计模式整理笔记 三] 工厂模式(Factory)
- [设计模式整理笔记 四] 抽象工厂模式(Abstract Factory)
- [设计模式整理笔记 五] 创建者模式(Builder)
- MySQL主从复制的原理及配置方法
- [LeetCode]155. Min Stack
- Material Design创建列表与卡片
- 机房收费系统之(实时错误‘-2147217900(80040e14)')
- poi导出execl
- 笔记整理之设计模式 I
- iOS-指定视图的圆角个数
- 从使用到原理学习Java线程池 (转载)
- hdu 1026 Ignatius and the Princess I (bfs)
- Glide在RecyclerView自适应图片尺寸
- java内存管理(二)
- openstack 练习记录
- Mongodb存储特性
- C/C++中部分常见数学函数