设计模式的概念:
是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结
设计模式的目的:
使用设计模式是为了可重用代码、让代码更容易被他人理解保证代码可靠性
单例模式:
在程序开发的过程中,有些对象我们只需要一个,比如:
配置文件、工具类、线程池、缓存、日志等
如果创造出多个实例,就会导致许多问题,比如占用过多资源,不一致的结果等
单例模式就是保证当前程序中某个类的对象有且只有一个实例
单例模式有两种:
1.饿汉模式
/** * 单例模式之懒汉模式 */ public class Singleton01 { //2.创建类的唯一实例,该实例为私有的、静态的 private static Singleton01 instance = new Singleton01(); //1.将构造方法设置为私有,不允许外部直接创建对象 private Singleton01(){ } //3.提供一个用于获取实例的方法,该方法为静态的 public static Singleton01 getInstance(){ return instance; } }
2.懒汉模式
/** * 单例模式之饿汉模式 */ public class Singleton02 { //2.创建类的唯一实例变量,但并不初始化,该实例变量为私有的、静态的 private static Singleton02 instance; //1.将构造方法设置为私有,不允许外部直接创建对象 private Singleton02(){ } //3.提供一个用于获取实例的方法,该方法为静态的 public static Singleton02 getInstance(){ if(instance == null){ instance = new Singleton02(); } return instance; } }
3.懒汉模式和饿汉模式的区别:
(1)饿汉模式的特点是加载类的时候比较慢,但运行时获取对象的速度比较快;懒汉模式的特点是加载类的时候比较快,但运行时获取对象的速度比较慢;
(2)饿汉模式的线程安全的,懒汉模式是线程不安全的,需要同步多线程访问的资源;
原文地址:http://blog.csdn.net/bear_huangzhen/article/details/45949847