1. 概念:
确保在一个JVM中一个类只有一个实例对象存在,这个类自已创建实例对象,并向整个系统提供此实例。
2. 单例实现:
(1)饿汉式单例:
(2)懒汉式单例:
(3)登记式单例:
3. 使用场景:
(1)系统配置文件,只需要加载一次,为各个模块提供配置信息,可以用单例实现,代码如下:
(2)数据库连接池,为整个系统提供数据库连接,可以用单例实现:
A. Pool类实现:
B.DatabaseConnectionPool类实现:
注:一切只需要一个对象实例的程序都可以使用单例。