单例模式
来源:互联网 发布:卖域名赚钱吗 编辑:程序博客网 时间:2024/05/22 05:10
延迟实例1:
public class Singleton{private staic Singleton singleton;private Singleton(){}public static synchronized Singleton getInstance(){if(singleton==null){singleton=new Singleton();return singleton;return singleton;}}}//此方法会影响程序的性能,也就是在每一次请求getInstance都需要同步,然而只有在第一次使用getInstance才有必要同步。(如果频繁访问getInstance方法,那么此方法不适用)
方法2:采用“急切”创建实例,(此方法适用于频繁创建或者使用单例模式,或者在创建和运行时方面的负担太重,可以采用这种“急切”的方式创建此单件)
public class Singleton{private static Singleton single=new Singleton();public staic Singleton getInstance(){return single;}//使用此方法,在任何线程访问single之前,jvm在第一次加载类就会创建实例single,之后每次调用getInstance就会返回创建的。}
方法3:
采用双重检测加锁,此方法能解决方法一每次调用getInstance而进行同步。
public class Singleton{private volatile static Singleton single;public static Singleton getInstance(){if(single==null){synchronized(Singleton.class){if(single==null){single=new Singleton();}}}return single;}}
阅读全文
0 0
- 单例、单例模式
- 单例模式-多线程单例模式
- 单件模式(单例模式)
- 设计模式------单例模式
- 设计模式------单例模式
- 设计模式-单例模式
- 设计模式 - 单例模式
- 设计模式---单例模式
- 设计模式---单例模式
- PHP模式-单例模式
- 【设计模式】单例模式
- 设计模式-单例模式
- 设计模式----单例模式
- 设计模式--单例模式
- 设计模式-单例模式
- 单例模式(单子模式)
- 设计模式-单例模式
- [设计模式] 单例模式
- leetcode 566 Reshape the Matrix
- POJ1852 UVa10714 Ants【水题】
- Web前端面试题目汇总
- 用两个栈来实现一个队列
- 视频硬编解码初级篇
- 单例模式
- 5.3矩阵压缩与存储
- WPF
- 有关可变形部件模型(Deformable Part Model)的一些说明
- idea本地运行hdfs程序
- HDU4738Caocao's Bridges(无向图求桥)
- 做网站专题测试时出现背景显示不全问题
- yolov2论文翻译
- 矩阵的转置