静态内部类也是懒汉式
/**
* 静态内部类
*/
public class Singleton4 {
private Singleton4(){
}
//问题一:属于懒汉式还是饿汉式 => 懒汉式,有需要才被创建
private static class LazyHolder{
static final Singleton4 s4 = new Singleton4();
}
//问题二:在创建时是否有并发问题 => 没有,类加载时由jvm保证线程安全性
public static Singleton4 getInstance(){
return LazyHolder.s4;
}
}