测试题(四)

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

相关推荐
2601_949817721 小时前
C++指针与引用深度精讲:底层原理、差异对比与高阶实战陷阱
java·jvm·c++
va学弟1 小时前
Java 网络通信编程(10):Channel 和 Selector
java·开发语言
爱吃提升1 小时前
MATLAB impulse函数脉冲响应完整实操教程
开发语言·matlab
小饕2 小时前
从 1080 Ti 到树莓派 4:Qwen2.5-0.5B Function Calling 端侧部署七步实战
开发语言·人工智能
小张小张爱学习2 小时前
Apache Dubbo 3 + Spring Boot 3 多模块 Maven 项目,演示基于 Zookeeper 注册中心的 RPC 调用
java·dubbo
糯米导航2 小时前
Rust + ONNX Runtime 构建生产级 AI 推理服务:从零到压测
开发语言·人工智能·rust
阿pin2 小时前
Java随笔-ConcurrentHashMap
java·开发语言·哈希算法
秋田君2 小时前
QT_QT布局详解
开发语言·数据库·qt
ximen502_2 小时前
Python 语言知识总结
开发语言·python
m0_738120723 小时前
PHP代码审计基础——超全局变量(三)
开发语言·安全·网络安全·php