设计模式的概念:
是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结
设计模式的目的:
使用设计模式是为了可重用代码、让代码更容易被他人理解保证代码可靠性
单例模式:
在程序开发的过程中,有些对象我们只需要一个,比如:
配置文件、工具类、线程池、缓存、日志等
如果创造出多个实例,就会导致许多问题,比如占用过多资源,不一致的结果等
单例模式就是保证当前程序中某个类的对象有且只有一个实例
单例模式有两种:
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