单例模式的主要是用于一个类创建独有一个对象的设计模式。主要技术点:双重检查、防止指令重排序、构造器私有化(面试笔试题载于此),这几个特征。下面是单例模式的代码案例:
public class InstanceTest {
//创建单例的静态对象,使用volatile,***防止指令重排序***
private static volatile InstanceTest instanceTest;
//静态方法创建单例,使用***双重检查***
public static InstanceTest getInstance() {
if (null == instanceTest) {
synchronized (InstanceTest.class) {
if (null == instanceTest) {
instanceTest = new InstanceTest();
}
}
}
return instanceTest;
}
//构造器需要改成***private***修饰符
private InstanceTest() {}
//成员方法,输出提示
public void print() {
System.out.println("This is single instance");
}
}
其实,坚持这个东西并不需要现时的回报,每天分享一点,写就是很好的回报!