单例模式(Singleton Pattern): Ensure a class has only one instance, and provide a global point of access to it. (确保某个类只有一个实例,整体系统通过这个实例访问它。)
单例的类图如下:
实现单例的几个注意事项:
- 构造方法必须是私有的,只有私有的就不能通过new来创建实例
- 初始化一次,
- 考虑多线程下的安全
单例模式的应用
优点,只有一个实例,减少内存,资源的开销。
缺点,只有一个接口,对扩展困难,不符合单一职责
应用场景:计数器,工具类,访问配合文件,数据库等资源
实例
一个线程安全的单例,可以做到延迟加载。
閱讀更多 Java猿 的文章