测试题(三)

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)依赖反射实现灵活性。

相关推荐
掘金者阿豪22 分钟前
高可用读写分离实战(二):我把数据库主库停了,结果整个集群的反应和我想象的不一样
后端
掘金者阿豪24 分钟前
《高可用读写分离集群实战》系列(一)
后端
Dilee40 分钟前
Spring AI 2.0.0 Prompt 最小 Demo:system、user、template 到底怎么分工
后端
未秃头的程序猿1 小时前
Java 26正式发布!这3个新特性,让代码量直接减半
java·后端·面试
小旭Coding1 小时前
卧靠!Go 传给前端的 int64 竟然变成了这个?
后端
用户298698530141 小时前
Word 文档文本查找与替换的 Java 实现方案
java·后端
阿哉1 小时前
Nacos 服务发现源码:藏在背后的两套事件机制,90%的人只讲了一半
java