一、说明:
使用类加载机制实现单例模式
理论: JVM在进行类加载时,能保证是线程安全的
二、代码:
public class TestSingletonByCalssLoader {
public static void main(String[] args) throws IllegalAccessException, InstantiationException {
SingletonByCalssLoader.getInstance();
}
}
/**
* 使用类加载机制实现单例模式
* <p>
* 理论: JVM在进行类加载时,能保证是线程安全的
*/
class SingletonByCalssLoader {
private SingletonByCalssLoader() {
}
private static class SingleClassHolder {
private static final SingletonByCalssLoader INSTANCE = new SingletonByCalssLoader();
static {
System.out.println("SingletonByCalssLoader inited.");
}
}
public static SingletonByCalssLoader getInstance() {
return SingleClassHolder.INSTANCE;
}
}
三、运行结果:
SingletonByCalssLoader.png