华南理工大学无线电爱好者协会软件小组程序员Java学习笔记

设计模式——单例模式

2017-03-12  本文已影响52人  廖少少

单例模式(Singleton Pattern)是众多设计模式中较为简单的一个,同时它也是面试时经常被提及的问题,如何理解单例模式?单例模式又有何应用?且听我慢慢道来。

概念

如何编写?

a.线程不安全的懒汉式

多线程问题

b.线程安全的懒汉式

改善多线程


c.双重校验锁


d.饿汉式

其他实现方式

e.登记式/静态内部类


f.枚举

经验之谈

一般情况下,不建议使用懒汉式(不管线程安全不安全),建议使用饿汉式。只有在要明确实现 lazy loading 效果时,才会使用登记方式。如果涉及到反序列化创建对象时,可以尝试使用枚举方式。如果有其他特殊的需求,可以考虑使用双检锁方式。

本文参考:

单例模式 | 菜鸟教程:http://www.runoob.com/design-pattern/singleton-pattern.html

《Head First 设计模式》

上一篇 下一篇

猜你喜欢

热点阅读