2026-05-02 12:44:42
Java 十大常用框架涵盖 Web 开发、持久层、分布式服务、项目管理、消息队列、日志记录、缓存、安全等多个领域,以下为详细介绍:
Spring MVCModel(模型):封装应用程序数据,通常由 POJO 组成。
View(视图):负责呈现模型数据,生成客户端浏览器可解释的 HTML 输出。
Controller(控制器):处理用户请求,建立模型并传递给视图渲染。
用户发送请求至前端控制器,前端控制器根据请求信息选择页面控制器处理。
页面控制器收集和绑定请求参数到命令对象,验证后委托给业务对象处理,返回 ModelAndView。
前端控制器根据逻辑视图名选择视图渲染,传入模型数据。
前端控制器将响应返回给用户。

具有依赖注入功能的容器,负责实例化、定位、配置应用程序中的对象及建立对象间依赖。
应用程序由 IOC 容器组装,无需直接在代码中 new 相关对象,BeanFactory 是其实际代表者。
将与业务无关但为业务模块共同调用的逻辑或责任封装起来,减少系统重复代码,降低模块间耦合度。
用于封装横切关注点,如权限认证、缓存、错误处理、日志记录等场景。
加载配置并初始化,将 SQL 配置信息加载成 MappedStatement 对象存储在内存中。
接收调用请求,调用 Mybatis 提供的 API,传入 SQL 的 ID 和参数对象。
处理操作请求,根据 SQL 的 ID 查找对应对象,解析得到最终 SQL 和参数,获取数据库连接执行并得到结果,根据结果映射配置转换处理结果,释放连接资源。
返回处理结果。
透明化远程方法调用,像调用本地方法一样调用远程方法,配置简单无 API 侵入。
具备软负载均衡及容错机制,可替代硬件负载均衡器,降低成本减少单点。
服务自动注册与发现,注册中心基于接口名查询服务提供者 IP 地址,能平滑添加或删除服务提供者。
Provider:暴露服务的服务提供方。
Consumer:调用远程服务的服务消费方。
Registry:服务注册与发现的注册中心。
Monitor:统计服务调用次数和时间的监控中心。
Container:服务运行容器。
Erlang:动态类型函数式编程语言,每个 Actor 对应一个 Erlang 进程,进程间通过消息传递通信,消除直接锁开销。
AMQP:定义分布式系统中各子系统通过消息交互的规范。
优点:
快速、简单,有多种缓存策略。
缓存数据有内存和磁盘两级,无需担心容量问题,虚拟机重启时缓存数据会写入磁盘。
可通过 RMI、可插入 API 等方式进行分布式缓存,具有缓存和缓存管理器的侦听接口。
支持多缓存管理器实例和一个实例的多个缓存区域,提供 Hibernate 的缓存实现。
缺点:
使用磁盘 Cache 时占用磁盘空间大,因 DiskCache 算法简单,元素直接追加存储,搜索快但磁盘易满。
不能保证数据安全,突然 kill 掉 java 可能产生冲突,重建 cache 对需保存的 Cache 数据不利。
优点:
异常快速,每秒能执行约 11 万集合,每秒约 81000 + 条记录。
支持丰富的数据类型,易解决各种问题。
所有操作都是原子的,保证多客户端同时访问时获取更新后的值。
是多实用工具,可用于缓存、消息、队列、会话管理、网页命中计数等。
缺点:单线程、耗内存。
身份认证/登录,验证用户身份。
授权,验证已认证用户是否拥有某个权限。
会话管理,管理用户登录后的会话信息。
加密,保护数据安全性,如密码加密存储。
Web 支持,易集成到 Web 环境。
缓存,提高效率。
支持多线程应用的并发验证。
提供测试支持。
允许用户假装为另一个用户身份访问。
具备“记住我”功能。