来源:juejin.cn/post/7585727457472593920
👉 欢迎加入小哈的星球,你将获得:专属的项目实战(多个项目) / 1v1 提问 /Java 学习路线 /学习打卡 / 每月赠书 / 社群讨论
新项目:《Spring AI 项目实战》正在更新中..., 基于 Spring AI + Spring Boot 3.x + JDK 21;
《从零手撸:仿小红书(微服务架构)》 已完结,基于 Spring Cloud Alibaba + Spring Boot 3.x + JDK 17..., 点击查看项目介绍;演示地址:http://116.62.199.48:7070/
《从零手撸:前后端分离博客项目(全栈开发)》2期已完结,演示链接:http://116.62.199.48/;
专栏阅读地址:https://www.quanxiaoha.com/column
截止目前,累计输出 100w+ 字,讲解图 4013+ 张,还在持续爆肝中..后续还会上新更多项目,目标是将 Java 领域典型的项目都整一波,如秒杀系统, 在线商城, IM 即时通讯,Spring Cloud Alibaba 等等,戳我加入学习,解锁全部项目,已有4200+小伙伴加入
先叠个甲
以下评价基于技术特性、生态成熟度、市场采用情况等客观维度,不代表对任何框架的贬低。
技术选型应根据具体场景,没有银弹。
不同项目有不同需求,合适的才是最好的。
评价维度说明
性能表现:吞吐量、响应时间、资源占用
生态成熟度:社区活跃度、文档质量、第三方库支持
学习曲线:上手难度、概念复杂度
开发效率:代码量、开发速度、维护成本
企业采用度:市场占有率、大厂使用情况
创新性:技术先进性、架构理念
夯(顶流,硬通货)
Spring Boot
理由:Java Web框架的绝对霸主,在Azul《State of Java 2025》调研中,微服务框架里 Spring Boot 使用率为42%(仍居首)
优势:约定优于配置、自动装配机制、微服务全家桶(Spring Cloud)、文档极其完善、招人容易
适用:企业级应用、微服务架构、任何需要稳定性的场景
客观数据:GitHub79k+stars,Stack Overflowspring-boot标签问题数150,650(GitHub)
顶级(一线战力,能打)
Quarkus
理由:云原生时代的新贵,启动速度和内存占用吊打传统框架
优势:原生支持GraalVM,冷启动毫秒级,容器化场景完美适配,开发体验接近Spring Boot
适用:Kubernetes环境、Serverless、微服务、追求极致性能
客观数据:启动时间0.049s(Quarkus Native) vs Spring Boot JVM 1.909s,Max RSS70.5MB vs 388.9MB(约减少82%)
Micronaut
理由:编译时依赖注入,性能优秀,无反射开销
优势:启动快、内存低、支持GraalVM、响应式编程友好
适用:微服务、云原生应用、性能敏感场景
客观数据:启动时间0.656s(Micronaut JVM) vs Spring Boot JVM 1.909s(约快2.9倍),Max RSS253.2MB vs 388.9MB(约少35%)
Vert.x
理由:异步非阻塞的硬核框架,高并发场景王者
优势:事件驱动、Reactor模式、性能极致、支持多语言
适用:高并发、实时系统、WebSocket、IoT
客观数据:TechEmpower Framework Benchmarks 的公开结果目录中持续包含vertx/、vertx-web/等实现 (tfb-status.techempower.com)
人上人(有特色,能立足)
Helidon
理由:Oracle出品,MicroProfile标准实现,轻量级微服务框架
优势:模块化设计、响应式支持、GraalVM原生、文档规范
适用:微服务、云原生、偏好标准化的团队
市场:知名度不如前面几位,但技术扎实
Javalin
理由:极简主义,Kotlin和Java都好用的轻量级框架
优势:学习曲线平缓、代码简洁、性能不错、适合小型项目
适用:RESTful API、原型开发、教学项目
定位:类似Node.js的Express,但生态比不上Spring系
Dropwizard
理由:老牌微服务框架,整合了Jetty、Jersey、Jackson等成熟组件
优势:开箱即用、运维友好(内置Metrics)、稳定可靠
适用:RESTful服务、需要快速上线的项目
现状:曾经辉煌,现在被Spring Boot和新秀挤压
NPC(能用,但不够出彩)
Play Framework
理由:Scala/Java双栖,响应式架构,但Java生态里存在感弱
优势:异步非阻塞、热重载、RESTful友好
劣势:学习曲线陡、社区不如Scala圈活跃、Java使用者少
定位:更适合Scala开发者
Grails
理由:基于Groovy的全栈框架,约定优于配置
优势:开发速度快、适合快速原型
劣势:Groovy本身小众、性能一般、企业采用度低
现状:被Spring Boot全面替代
Apache Wicket
理由:组件化Web框架,面向对象思维
优势:不需要写JavaScript、适合传统Java开发者
劣势:前后端不分离的思路已过时、学习资源少
现状:维护状态,新项目很少选择
拉完了(时代的眼泪)
Struts 2
理由:曾经的王者,现在已是明日黄花
劣势:安全漏洞频发、架构老旧、社区基本停滞
现状:只在老项目维护,新项目禁止使用
历史地位:SSH三剑客之一,但已被淘汰
JSF (JavaServer Faces)
理由:Java EE标准的一部分,但体验糟糕
劣势:笨重、开发效率低、前后端耦合严重
现状:除了某些政府/银行老系统,基本无人问津
原生Servlet + JSP
理由:原始技术栈,纯手搓
劣势:啥都要自己写,效率极低,维护困难
现状:只适合教学和面试八股文
直接看结果
分层 | 框架 | 框架 | 框架 |
|---|---|---|---|
夯 | Spring Boot | ||
顶级 | Quarkus | Micronaut | Vert.x |
人上人 | Helidon | Javalin | Dropwizard |
NPC | Play Framework | Grails | Apache Wicket |
拉完了 | Struts 2 | JSF (JavaServer Faces) | 原生Servlet + JSP |
👉 欢迎加入小哈的星球,你将获得:专属的项目实战(多个项目) / 1v1 提问 /Java 学习路线 /学习打卡 / 每月赠书 / 社群讨论
新项目:《Spring AI 项目实战》正在更新中..., 基于 Spring AI + Spring Boot 3.x + JDK 21;
《从零手撸:仿小红书(微服务架构)》 已完结,基于 Spring Cloud Alibaba + Spring Boot 3.x + JDK 17..., 点击查看项目介绍;演示地址:http://116.62.199.48:7070/
《从零手撸:前后端分离博客项目(全栈开发)》2期已完结,演示链接:http://116.62.199.48/;
专栏阅读地址:https://www.quanxiaoha.com/column
截止目前,累计输出 100w+ 字,讲解图 4013+ 张,还在持续爆肝中..后续还会上新更多项目,目标是将 Java 领域典型的项目都整一波,如秒杀系统, 在线商城, IM 即时通讯,Spring Cloud Alibaba 等等,戳我加入学习,解锁全部项目,已有4200+小伙伴加入
1. 我的私密学习小圈子,从0到1手撸企业实战项目~ 2. Java25 是真的强啊:更简洁、更高效、更现代! 3. 面试官:谈谈 Redis 5.0 中的 Stream 消息队列? 4. 面试官:为什么 Redis 不支持回滚?
最近面试BAT,整理一份面试资料《Java面试BATJ通关手册》,覆盖了Java核心技术、JVM、Java并发、SSM、微服务、数据库、数据结构等等。 获取方式:点“在看”,关注公众号并回复 Java 领取,更多内容陆续奉上。PS:因公众号平台更改了推送规则,如果不想错过内容,记得读完点一下“在看”,加个“星标”,这样每次新文章推送才会第一时间出现在你的订阅列表里。 点“在看”支持小哈呀,谢谢啦