0%

Java三大版本

Java 的三大版本

  • 在现代 Java 开发中,大家常说的”Java 三大版本”指的是 Java 生态里最核心、最常用的三个长期支持版本(LTS),它们几乎决定了目前 99% 企业项目的实际选择
特性/功能 Java 8 Java 11 Java 17(当前最推荐)
发布年份 2014 2018 2021
LTS 支持结束(Oracle) 2025年1月 2026年9月 2029年9月
Lambda/Stream 有(更完善)
var(局部变量类型推断)
模块化系统(JPMS) 有(更成熟)
记录类 record 有(极大简化 DTO)
密封类 sealed
文本块(多行字符串) 有(写 JSON/SQL 超爽)
switch 表达式/模式匹配 有(Java 17+ 逐步完善)
废弃/移除的老 API 移除 Nashorn、JavaFX 等 移除 Applet、安全管理器等
GraalVM Native Image 友好度 一般 较好 最好(启动快、内存低)
性能(GC/内存) 基准 更好 最好(ZGC/Shenandoah 成熟)

Java EE / Jakarta EE 版本演进历史

版本名称 正式发布年份 最新维护版本(2026年) 当前主流使用情况(2026年1月) 关键特性/变化 实际采用率(估算)
J2EE 1.2 ~ 1.4 1999~2003 已停止维护 极少(只有极老遗留系统) EJB 1.x/2.x、Servlet 2.3、JSP 1.2、JDBC 2.0 <1%
Java EE 5 2006 已停止 极少 引入注解、EJB 3.0(简化很多)、JSF 1.2 <2%
Java EE 6 2009 已停止 少量老项目 CDI(Contexts & Dependency Injection)、JPA 2.0、Bean Validation、Servlet 3.0 5-8%
Java EE 7 2013 已停止 仍有部分银行/传统企业维护 WebSocket、JSON-P、JMS 2.0、Batch 1.0、Concurrency Utilities 10-15%
Java EE 8 2017 最后 Oracle 官方 Java EE 版本 仍然大量存在(最常见的”老 Java EE”) CDI 2.0、JPA 2.2、Servlet 4.0(HTTP/2)、JSON-B、Security API 1.0 25-35%(主流老项目)
Jakarta EE 8 2019 8.0.0 过渡版本,部分项目用 与 Java EE 8 基本一致,只是改了包名(javax.* → jakarta.*) 5-10%
Jakarta EE 9 2020 9.1.0 很少(主要是迁移中) 全面迁移到 jakarta.* 命名空间,移除 javax.* <5%
Jakarta EE 9.1 2021 9.1.0 少量 支持 Java 11,修复一些兼容性问题 5-8%
Jakarta EE 10 2022 10.0.0 开始逐渐普及(新项目主流) 支持 Java 17+、记录类、文本块、Servlet 6.0、Jakarta Persistence 3.1 等 15-25%(快速上升)
Jakarta EE 11 2024年11月 11.0.0(最新) 2026年新项目最推荐 支持 Java 21+、虚拟线程(Project Loom)、Jakarta REST 3.1、MicroProfile 集成更好 20-30%(主流新项目)