单例模式
Posted liwei2018
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了单例模式相关的知识,希望对你有一定的参考价值。
public class Demo1 {
//volatile保证内存可见性
private volatile static Demo1 instance;
public static Demo1 getInstance(){
if(instance==null){
synchronized (Demo1.class){
if(instance==null){
instance=new Demo1();
}
}
}
return instance;
}
/**
* 构造方法私有化,不被外部创建
*/
private Demo1(){
System.out.println("Demo1 created");
}
}
测试代码:
public class Demo1Test {
@Test
public void test1(){
Demo1 instance1 = Demo1.getInstance();
Demo1 instance2 = Demo1.getInstance();
Demo1 instance3 = Demo1.getInstance();
Assert.assertTrue(instance1.equals(instance2));
Assert.assertTrue(instance1.equals(instance3));
}
}
测试结果:
以上是关于单例模式的主要内容,如果未能解决你的问题,请参考以下文章