一、问题背景
最近题主发布在公司的SDK遇到了一个Bug。有关单例模式的,什么问题呢?
我们先回想下,单例模式怎么写。30分钟学透设计模式1-单例模式的前世今生
简而言之:
- 私有的构造方法
- 提供一个静态可以获取实例对象的方法
其分类可大致分为:
- 非延迟加载(饿汉)
- 延迟加载(懒汉等)
问题:
题主使用的是:initialization-on-demand holder idiom 这种方法实现。然而却抛出了以下异常:
java.lang.NoClassDefFoundError: Could not initialize class SingleTon$Holder
at SingleTon.getInstance(SingleTon.java:11)
at SingleTon.main(SingleTon.java:24)