测试题(四)

31 为什么需要垃圾回收

避免长期未使用的对象占用内存。

GC 自动回收无引用的对象,避免内存泄漏,确保系统稳定。

32 SpringMVC 执行流程

DispatcherServlet 接收请求 → HandlerMapping 找处理器 → HandlerAdapter 适配 → Controller 执行业务 → 返回 ModelAndView → ViewResolver 解析视图 → 渲染。

特点是分层清晰、耦合度低。

33 编程式事务与声明式事务

编程式需要手写 begin、commit、rollback。

声明式通过 @Transactional 自动管理,更常用更方便。

34 MyBatis 中 $ 与 #

$ 用字符串拼接,存在 SQL 注入风险。

使用预编译占位符,是安全写法。

35 MyBatis 动态 SQL

用于处理复杂条件查询,避免大量 if-else 拼接,提高可维护性。

36 Shiro 认证流程

用户提交身份信息 → SecurityManager 处理 → Realm 校验 → 成功登录。

授权则是判断用户角色与权限。

37 BeanFactory 与 ApplicationContext 区别

BeanFactory 懒加载,只在获取时创建 Bean。

ApplicationContext 启动时创建所有 Bean,功能更丰富。

38 Spring Bean 生命周期

实例化 → 设置属性 → 初始化方法 → Bean 使用 → 销毁方法。

39 singleton 与 prototype

singleton 全局唯一对象。

prototype 每次获取新对象,常用于无状态场景。

40 Spring 的优势

降低耦合、支持 AOP、事务、测试集成、便于整合框架、提升开发效率。

相关推荐
言乐63 分钟前
Python体现逻辑回归和决策树的区别
开发语言·python·算法·决策树·逻辑回归
LOVE️YOU8 分钟前
Python 类与对象的核心逻辑:从 self、cls 到点号、括号与链式调用
开发语言·python
顶点多余14 分钟前
C/C++常见面试题
开发语言·c++
(Charon)17 分钟前
【C++面试】右值引用与移动语义:std::move到底做了什么
开发语言·c++
TheITSea17 分钟前
JavaScript Web APIs
开发语言·前端·javascript
空心木偶☜21 分钟前
A2A2A(多智能体协作)
开发语言·python·ai·ai编程
Cc.Y24 分钟前
Java零基础入门:类与对象深度掌握 —— 从“零散变量“到“打包管理“
java·开发语言·python
\光辉岁月/25 分钟前
2.java变量
java·开发语言·变量
Wang's Blog28 分钟前
Java 项目实战: 外卖平台优化-前端dist部署与Nginx反向代理rewrite
java·前端·nginx
专业程序开发源29 分钟前
springboot生命故事书制作小程序65290-计算机课程设计、毕业设计
java·vue.js·spring boot·后端·mysql·小程序·课程设计