Java版本歷史

自JDK 1.0版本以来，Java語言历经了多次迭代更新，并在基础程式庫中持续增添大量類別与包。自J2SE 1.4版本起，Java语言的演变过程交由 Java Community Process（JCP）统一管理，其采用Java规范请求（Java Specification Requests，简称JSRs）的方式，以建议和确定对Java平台各部分内容的新增与修订工作。Java语言的规则遵循《Java语言规范》（Java Language Specification，简称JLS），针对JLS的任何改动均依据JSR 901（页面存档备份，存于）进行规范化管理。
除了語言上的變化，多年來Java标准庫（JCL）发生了巨大的变化，從JDK 1.0中的幾百個類暴增到J2SE 5中的三千多個類。Swing、Java2D等的全新API被加入其中，而許多原本JDK 1.0的類和方法已被弃用。當然，仍然有一些程式可以將Java程式從新版本的Java平台轉換為較舊版本（例如Java 5.0降轉到1.4）。
Java 7發布後，Oracle承諾回到以前每兩年發布一次的發布週期。但在2013年時，Oracle卻宣布他們將Java 8延遲一年發表，官方表示是為了修復Java的安全漏洞。
2017年9月，Java 平台的主架构师 Mark Reinhold 发出提议，要求将 Java 的功能更新周期从之前的每两年一个新版本缩减到每六个月一个新版本。该提议获得了通过，并在提出后不久生效。
Java 17, 11, 8 为目前提供支持的 LTS（长期支持）版本；Java 10 是上一个快速发布版本，且已不再被支持。2018年9月，随着 Java 11 的发布，Java 10 自当日起不再被支持。Oracle 将在 2019 年 1 月前为商业用途中的 Java 8 长期支持，而针对非商用的更新将继续提供，直至 2020 年 12 月；此外，AdoptOpenJDK 也为 Java 8 提供免费更新。针对 Java 11 的长期支持将不再由 Oracle 提供，而是改由 OpenJDK 社区提供，例如 Eclipse Adoptium（以前称之为 AdoptOpenJDK）
| 版本 | 类文件格式版本 | 发布日期 | 最终免费公开更新时间 | 最後延伸支援日期 |
| --- | --- | --- | --- | --- |
| 舊版本，不再支援： JDK Beta | ? | 1995 | ? | ? |
| 舊版本，不再支援： JDK 1.0 | 44 | 1996 年 1 月 23 日 | ? | ? |
| 舊版本，不再支援： JDK 1.1 | 45 | 1997 年 2 月 18 日 | ? | ? |
| 舊版本，不再支援： J2SE 1.2 | 46 | 1998 年 12 月 4 日 | ? | ? |
| 舊版本，不再支援： J2SE 1.3 | 47 | 2000 年 5 月 8 日 | ? | ? |
| 舊版本，不再支援： J2SE 1.4 | 48 | 2002 年 2 月 13 日 | 2008 年 10 月 | 2013 年 2 月 |
| 舊版本，不再支援： J2SE 5.0 | 49 | 2004 年 9 月 30 日 | 2009 年 11 月 | 2015 年 4 月 |
| 舊版本，不再支援： Java SE 6 | 50 | 2006 年 12 月 11 日 | 2013 年 4 月 | Oracle 於 2018 年 12 月停止更新 Azul 於 2026 年 12 月停止更新 |
| 舊版本，不再支援： Java SE 7 | 51 | 2011 年 7 月 28 日 | OpenJDK 於 2022 年 9 月停止更新（2015 年 5 月前由 Oracle 维护） Red Hat 於 2020 年 8 月停止更新 Azul 於 2022 年 9 月停止更新 | Oracle 於 2022 年 7 月停止更新 Red Hat 於 2020 年 6 月停止更新 Azul 於 2027 年 12 月停止更新 |
|  舊版本，仍被支援： Java SE 8 (LTS) | 52 | 2014 年 3 月 18 日 | OpenJDK 目前由 Red Hat 维护 Oracle 於 2022 年 3 月停止更新（商用） Oracle 於 2030 年 12 月停止更新（非商用） Azul 於 2030 年 12 月停止更新 IBM Semeru 於 2026 年 5 月停止更新 Eclipse Adoptium 於 2026 年 5 月或之後停止更新 Amazon Corretto 於 2026 年 5 月或之後停止更新 | Oracle 於 2030 年 12 月停止更新 Red Hat 於 2026 年 11 月停止更新 |
| 舊版本，不再支援： Java SE 9 | 53 | 2017 年 9 月 21 日 | OpenJDK 於 2018 年 3 月停止更新 | 不適用 |
| 舊版本，不再支援： Java SE 10 | 54 | 2018 年 3 月 20 日 | OpenJDK 於 2018 年 9 月停止更新 | 不適用 |
|  舊版本，仍被支援： Java SE 11 (LTS) | 55 | 2018 年 9 月 25 日 | OpenJDK 目前由 Red Hat 维护 Azul 於 2026 年 9 月停止更新 IBM Semeru 於 2024 年 10 月停止更新 Eclipse Adoptium 於 2024 年 10 月或之後停止更新 Amazon Corretto 於 2027 年 9 月或之後停止更新 微软於 2024 年 10 月或之後停止更新 | Oracle 於 2026 年 9 月停止更新 Azul 於 2026 年 9 月停止更新 Red Hat 於 2024 年 10 月停止更新 |
| 舊版本，不再支援： Java SE 12 | 56 | 2019 年 3 月 19 日 | OpenJDK 於 2019 年 9 月停止更新 | 不適用 |
|  舊版本，仍被支援： Java SE 13 | 57 | 2019 年 9 月 17 日 | OpenJDK 目前由 Azul 维护 Azul 於 2023 年 3 月停止更新 | 不適用 |
| 舊版本，不再支援： Java SE 14 | 58 | 2020 年 3 月 17 日 | OpenJDK 於 2020 年 9 月停止更新 | 不適用 |
|  舊版本，仍被支援： Java SE 15 | 59 | 2020 年 9 月 16 日 | OpenJDK 目前由 Azul 维护 Azul 於 2023 年 3 月停止更新 | 不適用 |
| 舊版本，不再支援： Java SE 16 | 60 | 2021 年 3 月 16 日 | OpenJDK 於 2021 年 9 月停止更新 | 不適用 |
|  舊版本，仍被支援： Java SE 17 (LTS) | 61 | 2021 年 9 月 14 日 | OpenJDK 目前由 SAP 维护 Azul 于 2029 年 9 月停止更新 IBM Semeru 于 2027 年 10 月停止更新 微软于 2027 年 9 月或之後停止更新 Eclipse Adoptium 于 2027 年 9 月或之後停止更新 | Oracle 於 2029 年 9 月或之後停止更新 Azul 於 2029 年 9 月停止更新 Red Hat 於 2027 年 10 月停止更新 |
| 舊版本，不再支援： Java SE 18 | 62 | 2022 年 3 月 22 日 | OpenJDK 於 2022 年 9 月停止更新 Eclipse Adoptium 于 2022 年 9 月或之後停止更新 | 不適用 |
| 舊版本，不再支援： Java SE 19 | 63 | 2022 年 9 月 20 日 | OpenJDK 於 2023 年 3 月停止更新 | 不適用 |
| 舊版本，不再支援： Java SE 20 | 64 | 2023 年 3 月 21 日 | OpenJDK 於 2023 年 9 月停止更新 | 不適用 |
|  舊版本，仍被支援： Java SE 21 (LTS) | 65 | 2023 年 9 月 19 日 | 於 2028 年 9 月停止更新 | Oracle 於 2031 年 9 月停止更新 |
| 舊版本，不再支援： Java SE 22 | 66 | 2024 年 3 月 19 日 | 於 2024 年 9 月停止更新 | 不適用 |
|  當前版本： Java SE 23 | 67 | 2024 年 9 月 | 於 2025 年 3 月停止更新 | 不適用 |
|  未来版本： Java SE 24 | 68 | 2025 年 3 月 | 於 2025 年 9 月停止更新 | 不適用 |
|  未来版本： Java SE 25 (LTS) | 69 | 2025 年 9 月 | Oracle 於 2028 年停止更新 | Oracle 於 2033 年停止更新 |
格式：舊版本舊版本，仍被支援当前版本最新的预览版未来版本