在java中,单例设计模式是非常常见的设计模式,对单例设计模式的概念,不做过多的介绍,下面将逐一介绍四种单例设计模式:
1、第一种单例设计模式
1.1 代码实现
1.2 相关测试
2、第二种单例
2.1 代码实现
2.2 相关测试
3、内部类实现单例
3.1 代码实现
3.2 相关测试
4、枚举实现单例
4.1 代码实现
4.2 相关测试
5、四种单例效率测试
6、总结
第一种单例:不具备懒加载的功效;
第二种单例:懒加载、如果分为线程安全和非线程安全两种,当使用线程安全同步时,会影响效率。
第三种单例:懒加载、且适合多线程,效率很高;但是可以通过java反射来实例化多个实例,因此在一般情况下,该方式实现比较好;
第四种单例:必须在jdk5.0以上才具备的,未实现懒加载,多线程友好,并且无法通过java反射来实例化多个实例。
在一般情况下,建议使用第三种和第四种方式。