类的加载过程
加载、验证、准备、解析、初始化
单例模式的推荐创建方式
public class Singleton {private static class Holder {static final Singleton instance = new Singleton();}public static Singleton getInstance(){return Holder.instance;}}
这个骚操作的学名叫做 “基于类初始化的单例模式解决方案”。
JVM 在Class被加载后,且被线程使用之前,也就是类的初始化阶段,会去获取一个锁。这个锁可以保证多个线程对同一个类进行初始化的时候,只有一个线程能初始化成功。
