测试题(三)

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

相关推荐
子兮曰23 分钟前
把 649 种文件格式塞进一个网页里:一个「文件不出浏览器」的预览器
前端·javascript·后端
海鸥-w3 小时前
什么是AOP
java
全栈弄潮儿3 小时前
Python实战第2期: 变量与数据类型
后端·python·agent
Cc.Y3 小时前
Java零基础入门:可变字符串与包装类:StringBuilder、StringBuffer 与 通讯录管理系统实战
java·开发语言·python
paopaokaka_luck3 小时前
基于springboot+vue的智慧家政管理系统(AI问答、 WebSocket实时沟通、ECharts运营分析、订单规则与服务追踪)
java·javascript·spring boot·数据分析·echarts·mybatis
sm_926787053 小时前
RFID 标签打印的技术实现要点与二次开发实践
java·大数据·前端·c++·编辑器
阿森_dev3 小时前
2027 届毕设选题怎么选:30 个 Java 方向选题的实现难度排序
java·开发语言·spring boot·毕业设计·课程设计
by209993 小时前
C++ 多态:同一个基类接口,调用不同的函数
开发语言·c++·经验分享·多态
笔墨登场说说4 小时前
flink bin/start-cluster.sh 帮我做成开机启动
开发语言·python