测试题(三)

21 volatile

保证线程间可见性,修改立即对其他线程可见。

禁止指令重排,让代码执行顺序更符合预期。

常用于标志位、单例模式。

22 Arrays.sort 原理

基本类型使用双轴快速排序,速度快。

对象类型使用 TimSort(归并+插入优化算法)。

复杂度稳定在 O(n log n)。

23 使用缓存的优缺点

优点:访问速度提升显著。

缺点:需要维护一致性,可能出现伪共享、缓存过期错乱等情况。

24 线程安全集合

包括 Vector、Hashtable、ConcurrentHashMap、CopyOnWriteArrayList。

现代开发更倾向 ConcurrentHashMap、CopyOnWrite 系列。

25 LRU 算法

最近最少使用,淘汰最长时间未用的数据。

常用于缓存、页面置换。

26 BeanFactory

负责 Bean 的创建、管理、销毁,是 Spring 最基础的 IOC 容器。

27 IoC(控制反转)

对象的创建与生命周期由容器管理,而不是业务代码手动 new,降低耦合、提升灵活性。

28 依赖注入

Spring 自动将需要的 Bean 注入到类中,例如构造注入、Setter 注入、字段注入。

29 Bean 作用域

singleton:单例,全局唯一对象。

prototype:多例,每次 getBean 都会创建新对象。

可使用 @Lazy 延迟加载。

30 反射的作用

可在运行时动态获取类结构、创建对象、访问方法。

大量框架(Spring、MyBatis)依赖反射实现灵活性。

相关推荐
mldong15 小时前
工作流引擎的灵魂:状态机与 submitType
后端
BUG研究员_16 小时前
Runnable与LCEL
开发语言·人工智能·python
朦胧之17 小时前
Go 基础
后端·go
码农颜17 小时前
5.4.1 锁分类
java·数据库·mysql
lun17 小时前
Agent 工具调用成长史:理清楚 Function Calling、MCP、CLI 的关系
后端
Python私教17 小时前
Codex 自动写 Commit 够安全吗?一套证据化 Git 提交流程
人工智能·git·后端
Python私教17 小时前
AI Agent 上生产要不要开写权限?我把执行链拆成 4 道闸门
人工智能·后端·python
lun18 小时前
Claude Code 多 Agent 实现:subAgent & Agent Teams
后端
牛艺翔18 小时前
C++基础
开发语言·c++
键盘会跳舞18 小时前
C++ :容器适配器stack源码级拆解
开发语言·c++··stack·先进后出