- 1
- 0
- 约8.16千字
- 约 10页
- 2026-05-08 发布于河北
- 举报
单例模式面试题及详细答案
一、基础概念题(必问,考察对单例的核心理解)
1.请说说什么是单例模式?它的核心作用是什么?
参考答案:单例模式是设计模式中创建型模式的一种,核心是保证一个类在整个应用程序的生命周期中,只实例化一次,并且提供一个全局唯一的访问入口,让外部只能通过这个入口获取该实例,不能自行创建。
核心作用有两个:一是减少内存消耗,避免频繁创建和销毁实例(比如工具类、连接池类,创建成本高,重复创建会浪费资源);二是保证实例的一致性,避免多个实例存在导致的数据混乱(比如配置类,多个实例可能持有不同的配置,引发业务异常)。
补充:单例模式不是万能的,滥用会导致代码耦合度升高、测试困难(无法模拟不同实例的场景),一般用于工具类、数据库连接池、日志工厂等不需要多实例的场景。
2.单例模式的核心设计要点有哪些?
参考答案:要实现一个标准的单例,必须满足3个核心要点,缺一不可:
私有构造方法:禁止外部通过new关键字创建实例,这是单例的基础(如果构造方法公开,外部可以随意new,就无法保证单例);
私有静态实例变量:存储该类唯一的实例,静态变量属于类级别的,不属于对象,能保证全局唯一;
公开静态访问方法:提供全局唯一的入口,让外部获取实例,同时控制实例的创建逻辑(比如懒加载、线程安全)。
二、核心实现题(重点,考察代码能力和细节)
1.请手写一个懒汉式单例(懒加载),并说明它的
原创力文档

文档评论(0)