单例模式

设计模式(Design Pattern )

是一套被反复使用,多数人知晓的,经过分类编目的,代码设计经验的总结。
目的:
使用设计模式是为了可重用代码
让代码更容易被他人理解,保证代码可靠性。

1,单例模式
有些对象只需要一个,比如:配置文件,工具类,缓存,日志对象等。
懒汉模式

public class Singleton2 {
		//1,将构造方法私有化,不允许外部直接创建对象
		private Singleton2() {
			
		}	
		//2,创建类的唯一实例,使用private static 修饰
		private static Singleton2 instance;
		
		//3,提供一个用于获取实例的方法,使用public static修饰
		public static Singleton2 getInstance() {
			if(instance == null) {
				instance = new Singleton2();
			}
			return instance;
		}
}

饿汉模式

public class Singleton {
	//1,将构造方法私有化,不允许外部直接创建对象
	private Singleton() {
		
	}
	//2,创建类的唯一实例,使用private static 修饰
	private static Singleton instance = new Singleton();
	
	//3,提供一个用于获取实例的方法,使用private static 修饰
	public static Singleton getInstance() {
		return instance;
	}
	
}

懒汉模式 pk 饿汉模式

区别:
饿汉模式的特点:加载类时比较慢,但运行时获取对象的速度比较快;
线程安全;
懒汉模式的特点:加载类时比较快,但运行时获取对象的速度比较慢;
线程不安全;

你可能感兴趣的:(设计模式)