原创内容,转载请注明出处
单例模式是指一个类在应用程序中只有一个实例。当我们每次创建一个对象实例是需要耗费巨大资源的时候,这时可能需要用到单例模式,比如线程池。
UML类图表示
创建单例类Singleton,代码如下
package com.test.designermodel.singletonmodel;
public class Singleton {
private static Singleton singleton = new Singleton();
private Singleton(){
}
public static Singleton getInstace(){
if(singleton==null){
singleton=new Singleton();
}
return singleton;
}
}
编写Junit测试类
/**
* Java单例模式
*/
@Test
public void testSingletonModel(){
Singleton singleton = Singleton.getInstace();
Singleton singleton2 = Singleton.getInstace();
System.out.println(singleton);
System.out.println(singleton2);
}
测试结果如下
如上测试结果两次获取的实例对象地址都是一样,说明两次获取的实例对象为同一个
源代码如附件