项目中,很多时候会用到单例模式,但是会不可避免的出现线程安全问题,
下面是 看到网友回复的比较高级的形式,
静态内部类:
public class Singleton { private Singleton() { } public static Singleton getInstance() { return SingletonHolder.instance; } public static class SingletonHolder { public static final Singleton instance = new Singleton(); } }
原理就是说,静态内部类会在第一次被使用的时候被初始化,并且也只会被初始化一次,所以也包含懒加载和线程安全的特性。