javase懒汉式:单例设计模式

javase懒汉式:单例设计模式:(因为我们最开始没有初始化该对象,后边要调用public方法的时候才初始化的,所以的延迟加载,叫懒汉式

步骤如下:

1.创建该类,然后声明一个对象,还没有初始化

2.private其构造函数,使得其他类不能创建该类对象

3.设置一个public方法,该方法里面有获得实例对象的方法,这个时候才初始化最开始声明的对象。

(补充第三步,利用双判断方式来解决效率低问题(减少多次判断同步锁))

1.创建单例类:

package 设计模式.single;

public class SingleModel2 {
	private static SingleModel2 sm2 = null;

	private SingleModel2() {
	};

	public static SingleModel2 getInstance() {
		if (sm2 == null) {
			synchronized (SingleModel.class) {
				if (sm2 == null) {
					sm2 = new SingleModel2();
				}
			}
		}
		return sm2;
	}
}

2.创建测试类:

package 设计模式.single;

public class SingleModelTest {
	public static void main(String[] args) {
		// SingleModel sm1 = SingleModel.getSingleModel();
		// SingleModel sm2 = SingleModel.getSingleModel();
		// System.out.println("饿汉式的两个对象是 : "+(sm1 == sm2));
		SingleModel2 sm3 = SingleModel2.getInstance();
		SingleModel2 sm4 = SingleModel2.getInstance();
		System.out.println("懒汉式单例设计模式的两个对象是 : " + (sm3 == sm4));
	}
}

3.控制台输出:

懒汉式单例设计模式的两个对象是 : true

猜你喜欢

转载自blog.csdn.net/handsome2013/article/details/80108091