单例模式
来源:互联网 发布:淘宝买黄金项链可靠吗 编辑:程序博客网 时间:2024/06/03 21:05
Java中有23种设计模式,这篇博客说一说单例模式,它是设计模式中最简单的一种设计模式。上面是借用百科的图片来图形化介绍一些单例模式。
单例模式:一个类仅且只有一个实例,并且自行实例化向整个系统提供。
懒汉式:
package com.panli.designpattern.singleton;/** * 线程不安全的懒汉式单例 * 懒汉式:在第一次调用的时候再实例化自己 * @author Peter * */public class Singleton_LanHan {private Singleton_LanHan(){}private static Singleton_LanHan instance = null;//静态工厂方法,线程不安全public static Singleton_LanHan getInstance1(){if(instance==null){instance = new Singleton_LanHan();}return instance;}//方法同步,线程安全public static synchronized Singleton_LanHan getInstance2(){if(instance==null){instance = new Singleton_LanHan();}return instance;}//双重锁机制public static Singleton_LanHan getInstance3(){if(instance==null){synchronized(Singleton_LanHan.class){if(instance==null){instance = new Singleton_LanHan();}}}return instance;}//静态内部类private static class LazyHolder{private static final Singleton_LanHan INSTANCE = new Singleton_LanHan();}public static final Singleton_LanHan getInstance4(){return LazyHolder.INSTANCE;}}
恶汉式:
package com.panli.designpattern.singleton;/** * 线程不安全的恶汉式单例 * 恶汉式:在类初始化时,已经自行实例化 * @author Peter * */public class Singleton_ErHan {private Singleton_ErHan(){}private static Singleton_ErHan instance = new Singleton_ErHan();//静态方法public static Singleton_ErHan getInstance(){return instance;}}
阅读全文
0 0
- 单例、单例模式
- 单例模式-多线程单例模式
- 单件模式(单例模式)
- 设计模式------单例模式
- 设计模式------单例模式
- 设计模式-单例模式
- 设计模式 - 单例模式
- 设计模式---单例模式
- 设计模式---单例模式
- PHP模式-单例模式
- 【设计模式】单例模式
- 设计模式-单例模式
- 设计模式----单例模式
- 设计模式--单例模式
- 设计模式-单例模式
- 单例模式(单子模式)
- 设计模式-单例模式
- [设计模式] 单例模式
- python 小技巧
- 百练_4138:质数的和与积
- 微信支付(一)开发前准备
- mysql存储引擎
- vs2013配置qt问题
- 单例模式
- UVA 11892 ENimEN
- 百练_4142:二分法求函数的零点
- 旋转字符串
- 服务器的资源管理器显示进程占用内存不多,性能里内存爆满
- hack兼容IE (Firefox)6 7 8的写法
- 了解D3.js-数据可视化
- flask几种参数配置方法,致初学者
- vim 中Ctags的安装和使用