一个类只有一个实列,而且提供一个对外访问该实例的全局访问点。面试
常见应用场景:数据库链接池,项目中读取配置文件的类,servlet也是单列,Spring中的Bean默认也是单列数据库
通常状况下,你们知道前两个已经基本ok了,若是再拿后三个跟面试管去“砍”,相信他会对你刮目相看。安全
测试代码:性能
五种单列模式耗时以下:测试
说明:如下只是相对测试结果,机器配置不一样可能测试结果有出入。优化
单列模式名spa |
耗时线程 |
饿汉式 | 14ms |
懒汉式 | 4404ms |
双重检查锁 | 18ms |
静态内部类 | 16ms |
单例 | 15ms |