测试题(四)

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、事务、测试集成、便于整合框架、提升开发效率。

相关推荐
AI人工智能+电脑小能手5 小时前
【大白话说Java面试题 第87题】【Mysql篇】第17题:分布式事务的实现原理?
java·数据库·分布式·mysql·面试
来杯@Java6 小时前
图书管理系统(基于springboot+vue前后端分离的项目)计算机毕业设计java
java·spring boot·spring·vue·毕业设计·mybatis·课程设计
卷毛的技术笔记6 小时前
告别硬编码!Spring AI Alibaba 实现 AI Agent 智能工具调用(Tool Calling)
java·人工智能·后端·python·spring·ai编程
编程大师哥6 小时前
匿名函数 lambda + 高阶函数
java·python·算法
isyangli_blog6 小时前
OpenDayLight (Carbon 版本) 启动与组件安装
开发语言·php
vb2008117 小时前
FastAPI APIRouter
开发语言·python
Benszen7 小时前
KVM虚拟化解决方案
开发语言·perl
会编程的土豆7 小时前
Go 语言反射(Reflection)详解
开发语言·后端·golang
東雪木7 小时前
多线程与并发编程 专属复习笔记
java·开发语言·笔记·java面试
adrninistrat0r7 小时前
Java调用链MCP分析工具
java·python·ai编程