设计模式之一:单例模式

单例模式,是一种常用的软件设计模式。在它的核心结构中只包含一个被称为单例的特殊类。通过单例模式可以保证系统中,应用该模式的类一个类只有一个实例。即一个类只有一个对象实例。

单例模式分为:饿汉模式和懒汉模式

1 饿汉模式  ---静态常量(可用)

/**
 * 单例模式 --饿汉模式--静态常量(可以用)
 * y:在类加载的时候就进行了类的实例化,避免了线程的同步问题
 * n:同时,在类加载的时候就进行了实例化,没有达到懒加载的效果,万一之后不用,就会浪费内存
 *
 */
public class SingletonTest1 {
	private  static final SingletonTest1 instance=new SingletonTest1();
	private SingletonTest1() {}
	public static SingletonTest1 getInstance() {
		return instance;
	}
}

 y:在类加载的时候就进行了类的实例化,避免了线程的同步问题
 n:同时,在类加载的时候就进行了实例化,没有达到懒加载的效果,万一之后不用,就会浪费内存

2 饿汉模式  ---静态代码块(可用)

/**
 * 单例模式 --饿汉模式--静态代码块的使用(可以用)
 * 和静态常量差不多,在类加载的时候加载静态代码块进行实例化  
 *
 */
public class SingletonTest2 {
	private  static  SingletonTest2 instance=null;
	static {
		instance=new SingletonTest2();
	}
	private SingletonTest2() {}
	public static SingletonTest2 getInstance() {
		return instance;
	}
}

和静态常量差不多,在类加载的时候加载静态代码块进行实例化  

猜你喜欢

转载自blog.csdn.net/qq_39729527/article/details/81223316