单例模式
2016-06-19 22:18
260 查看
前言:
一般情况下,我们知道,一个类所创建的实例的个数是没有限制的;而单例模式,其所起的作用就是确保一个类只能创建一个实例;
下面我们从代码的角度去体会一下单例模式;
单例模式的定义:
保证一个类仅有一个实例,并提供一个访问它的全局访问点;
单例模式的代码示例:
单例模式的实现方式有两种:懒汉式和饿汉式
1>懒汉式
2>饿汉式
总结:
单例模式没啥总结的,一言以蔽之,就是实现让一个类只能创建唯一一个实例
一般情况下,我们知道,一个类所创建的实例的个数是没有限制的;而单例模式,其所起的作用就是确保一个类只能创建一个实例;
下面我们从代码的角度去体会一下单例模式;
单例模式的定义:
保证一个类仅有一个实例,并提供一个访问它的全局访问点;
单例模式的代码示例:
单例模式的实现方式有两种:懒汉式和饿汉式
1>懒汉式
package singletonLan; /** * Created by Will Smith on 2016/6/19. */ /*** * 懒汉式的单例模式实现 * ***/ public class Singleton { /*** * 定义一个变量来存储创建好的实例 * ***/ private static Singleton singleton = null; /*** * 将构造方法私有化,防止其会创建多个实例 * **/ private Singleton(){} /*** * 供客户端调用,用来返回一个实例 * 这里用synchronized主要是考虑了线程安全的问题, * 防止由于线程的原因创建多个实例 * **/ public static synchronized Singleton getInstance(){ if(singleton == null){ singleton = new Singleton(); } return singleton; } }
2>饿汉式
package singletonE; /** * Created by Will Smith on 2016/6/19. */ /*** * 饿汉式的单例模式实现 * ***/ public class Singleton { /*** * 定义一个变量来存储创建好的实例, * 直接在这里创建一个实例,且其只会创建一次 * ***/ private static Singleton singleton = new Singleton(); /*** * 将构造方法私有化,防止其会创建多个实例 * **/ private Singleton(){} /*** * 供客户端调用,用来返回一个实例 * 这里用synchronized主要是考虑了线程安全的问题, * 防止由于线程的原因创建多个实例 * **/ public static Singleton getInstance(){ return singleton; } }
总结:
单例模式没啥总结的,一言以蔽之,就是实现让一个类只能创建唯一一个实例
相关文章推荐
- 1.5.1 并行性与并发性的区别和联系
- 第一次去游泳
- 设计模式之禅七大原则之单一职责原则
- AndroidStuido使用(献给从Eclipase转过来的同志)
- Android 基础—— 对Context的理解与使用技巧
- 学习进度条(第十六周)
- Hive配置 连接远程mysql
- 关于内核定时器,DPC,线程的使用
- 一个程序员的进化史-第六章
- 英语短句
- android:configChanged的用法
- Android studio运行时出现ADB not responding. If you'd like to retry,then please manually kill "adb.exe"...
- 客户端笔记一
- 抽丝剥茧分解业绩
- poj2001 Shortest Prefixes
- 《代码大全》读书笔记
- 自学第一行代码
- 设计原则
- 将BGR图像转换成HSV颜色空间的转换
- Linux的inode的理解