企业🤖AI智能体构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
### 什么是单例 ``` 保证一个类只有一个实例,并且提供一个全局访问点 ``` ### 应用场景 ``` 1. 网站计数器 2. Web应用的配置对象的读取 3. 数据库连接池 4. 多线程的线程池 5. ``` ### 优缺点 ``` 优点: 1. 所有对象都访问一个实例 2. 节约资源 缺点 1. 不适用于变化的对象 2. 单例模式种没有抽象层,不易扩展 3. 当数据库连接池设置为单例模式,可能会导致共享连接池对象的程序过多而出现连接池益处 4. 长时间不适用,系统会认为是垃圾而回收 ``` ### 如何选择单例创建方式 ``` 1. 需要延迟加载, 可以使用枚举或者饿汉式,相对来说枚举性好于饿汉式 2. 需要延迟加载,可以使用静态内部类或者懒韩式,相对来说静态内部类好于懒韩式 ```