1. Java 版本使用情况

Java 8 依然是生产环境的绝对主力,尽管已经进入“后主流”阶段,但它的统治地位依然稳固。

79.8% 的开发者仍在使用 Java 8,虽然相比去年的 84.7% 有所下降,但这个跌幅非常温和,说明迁移节奏整体偏保守。

值得注意的是,**Java 11 作为首个长期支持(LTS)版本在 Java 8 之后推出,目前使用率已达到 12.2%**,增长势头明显。其他版本如 Java 12、13 则占比极低,多用于尝鲜或测试。

踩坑提示:不少团队卡在 Java 8 的原因并非技术阻力,而是依赖库兼容性问题,尤其是某些老旧中间件或内部框架对新版本支持滞后。

2. 框架使用趋势

Spring 生态正在快速向 Spring 5 迁移:

  • Spring 5 使用率从 24% 飙升至 58.4%
  • ❌ Spring 4 使用率从超过 50% 断崖式下降到 30%

这说明 Spring 5 的稳定性和新特性(如响应式编程、WebFlux、JDK 8+ 强依赖)已经被广泛接受。

同时,**Java EE / Jakarta EE 使用率从 9.5% 上升到 14%**,反映出在部分企业级场景中,传统规范仍有稳定需求。可能与迁移成本高、架构保守有关。

⚠️ 注意:Spring 的高占比也意味着社区对 Spring 的依赖极深,一旦出现重大安全漏洞(如 Log4j 事件前兆),影响面会非常广。

3. Spring Boot 采用情况

Spring Boot 的普及速度堪称“简单粗暴”:

  • Spring Boot 2.x 使用率从去年的 ~30% 翻倍至 60.5%
  • ❌ Boot 1.4 及更早版本已基本退出历史舞台

这一数据表明,Spring Boot 已成为 Java 微服务事实上的标准脚手架。其自动配置、内嵌容器、健康检查等特性极大提升了开发效率。

对于新项目,直接上 Boot 2.x 是最优选择;老项目建议制定明确的升级路径,避免技术债堆积。

4. 构建工具现状

构建工具格局最为稳定,Maven 依然是王者

  • ✅ Maven 占比维持在 **63.1%**,几乎与去年持平
  • Gradle 占比约 30.2%,主要集中在 Android 和部分云原生项目中

ANT 等老牌工具已基本被淘汰。

📌 结论:除非有特殊需求(如复杂构建逻辑、Kotlin DSL 偏好),否则 Maven 仍是首选。其插件生态、企业支持和学习成本优势明显。

5. IDE 使用分布

IDE 市场呈现“两强争霸”,但格局已定:

  • IntelliJ IDEA 以 61.3% 的份额领先(去年为 55.4%)
  • ❌ Eclipse 下降至 32.8%(去年为 38%)

这一趋势说明开发者更倾向于选择智能程度高、体验流畅的商业 IDE。IntelliJ 在代码补全、重构、Spring 支持等方面的深度集成是其胜出关键。

⚠️ 提醒:Eclipse 虽然份额下降,但在某些大型企业内部系统或 OSGi 场景中仍有不可替代性。

6. Web/应用服务器使用情况

这是第二年收集该数据,趋势非常清晰:

  • Tomcat 以 73% 的压倒性优势占据榜首(去年为 62.5%)
  • 其次是 Jetty(约 12.4%)和 WildFly(7.1%)

Tomcat 的增长可能与其轻量、易集成、适合微服务架构密切相关。大多数 Spring Boot 项目默认内嵌 Tomcat,进一步巩固了其地位。

小知识:真正使用传统 Java EE 容器(如 WebLogic、WebSphere)的团队越来越少,多集中在银行、电信等强合规行业。

7. JVM 上的其他语言

尽管多语言 JVM 平台呼声不断,但现实是:

  • 62.6% 的开发者仅使用 Java(与去年 62.8% 基本持平)

这个数字让我有点意外——毕竟 Kotlin 近年来声势浩大。

但细分数据揭示了变化方向:

  • Kotlin 从 13% 增长至 16.5%
  • ❌ Groovy 从 19.3% 降至 17.4%
  • ❌ Scala 从 9.7% 降至 8.6%

📌 明确趋势:Kotlin 正在蚕食其他 JVM 语言的市场份额,尤其是 Groovy(在 Gradle 脚本中逐步替代)和 Scala(因复杂性被部分放弃)。

对于 Android 开发和新后端项目,Kotlin 是值得认真考虑的选项。

8. 数据库使用情况

数据库方面,关系型仍是主流:

  • MySQL 稳定在 45.2%
  • PostgreSQL 实现显著增长,从去年的 25.6% 升至 30.8%

PostgreSQL 的崛起得益于其强大的功能集(JSON 支持、地理空间查询、扩展性)和开源社区活力,越来越受云原生和现代应用青睐。

其他数据库如 MongoDB(约 14.3%)、Redis(约 12.1%)主要用于缓存或特定场景,未撼动关系型主导地位。

趋势判断:PostgreSQL 正在成为“新 MySQL”,尤其在初创公司和技术驱动型企业中。

9. 总结

2019 年的 Java 生态呈现出几个关键特征:

  1. Java 8 仍是基石,但 Java 11 开始接棒
  2. Spring 5 + Spring Boot 2 成为标准技术栈
  3. Maven 和 IntelliJ 是主流工具链
  4. Tomcat 统治 Web 服务器市场
  5. PostgreSQL 崛起,Kotlin 渐成第二语言

整体来看,Java 社区在保持稳定性的同时,也在稳步向现代化技术演进。没有剧烈震荡,但每一步都扎实。

感谢所有参与调研的 6707 位开发者,正是你们的数据让这份报告有价值。
如果你正在做技术选型,这份趋势值得参考——别闭门造车,跟着社区走,错不了。


原始标题:The State of Java in 2019