当前位置: 首页 > 图灵资讯 > java面试题> java基础面试题-单例模式

java基础面试题-单例模式

来源:图灵教育
时间:2024-05-16 13:28:25
某个类只能生成一个实例,该实例全局访问,例如Spring容器里一级缓存里的单例池。

 

优点:

唯一访问:如生成唯一序列化的场景、或者spring默认的bean类型。

提高性能:频繁实例化创建销毁或者耗时耗资源的场景,如连接池、线程池。

缺点:

不适合有状态且需变更的;

实现方式:

饿汉式:线程安全速度快;

懒汉式:双重检测锁,第一次减少锁的开销、第二次防止重复、volatile防止重排序导致实例化未完成;

静态内部类:线程安全利用率高;

枚举:effictiveJAVA推荐,反射也无法破坏;