测试题(三)

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

相关推荐
我登哥MVP11 分钟前
Spring Boo从“会用”到“精通”:Spring Boot 入门
java·spring boot·后端·spring·maven·intellij-idea·mybatis
skywalk816312 分钟前
Tree-sitter是一个解析器生成器工具和一个增量解析库。它可以为源文件构建具体的语法树,并在编辑源文件时有效地更新语法树
开发语言·编程
无风听海14 分钟前
深入解析 ASP.NET Core 中的 Request.Cookies:从 HTTP 协议到加密存储与执行时序
后端·http·asp.net
染翰16 分钟前
Java 实现 Git 自动克隆工具,打包成 Windows 独立 EXE(免安装JDK)
java·git·后端
AI视觉网奇23 分钟前
Bambu Studio 发现 xx个开放边
开发语言·人工智能·python
七老板的blog24 分钟前
多阶段 AI 评测流水线架构设计与实践
java·人工智能·spring
程序员cxuan25 分钟前
Codex 一直 Reconnecting?我最后发现,常见就两个坑
人工智能·后端·程序员
qq_4581482029 分钟前
科大讯飞实时语音识别(rtasr)真实项目踩坑经验总结与手把手教学真实可运行Demo
java·开发语言·websocket·语音识别
三品吉他手会点灯30 分钟前
C语言学习笔记 - 46.运算符和表达式 - 运算符4 - 对初学运算符的一些建议
c语言·开发语言·笔记·学习
创业之路&下一个五年33 分钟前
mvvm中v和vm关系,vm中v和m的关系?
java·开发语言·javascript