版本

Java 版本#

版本发布日期最终免费公开更新时间最后延伸支持日期
Java SE 192022 年 9 月OpenJDK 于 2023 年 3 月停止更新不适用
Java SE 182022 年 3 月OpenJDK 于 2022 年 9 月停止更新
Eclipse Adoptium 于 2022 年 9 月或之后停止更新
不适用
Java SE 17 (LTS)2021 年 9 月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 162021 年 3 月OpenJDK 于 2021 年 9 月停止更新不适用
Java SE 152020 年 9 月OpenJDK 于 2021 年 3 月停止更新不适用
Java SE 142020 年 3 月OpenJDK 于 2020 年 9 月停止更新不适用
Java SE 132019 年 9 月OpenJDK 于 2020 年 3 月停止更新不适用
Java SE 122019 年 3 月OpenJDK 于 2019 年 9 月停止更新不适用
Java SE 11 (LTS)2018 年 9 月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 102018 年 3 月OpenJDK 于 2018 年 9 月停止更新不适用
Java SE 92017 年 9 月OpenJDK 于 2018 年 3 月停止更新不适用
Java SE 8 (LTS)2014 年 3 月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 72011 年 7 月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 62006 年 12 月2013 年 4 月Oracle 于 2018 年 12 月停止更新
Azul 于 2026 年 12 月停止更新
J2SE 5.02004 年 9 月2009 年 11 月2015 年 4 月
J2SE 1.42002 年 2 月2008 年 10 月2013 年 2 月
J2SE 1.32000 年 5 月??
J2SE 1.21998 年 12 月??
JDK 1.11997 年 2 月??
JDK 1.01996 年 1 月??
JDK Beta1995??

版本控制#



版本历史#

Java SE 20 (2023-03)#


Java SE 19 (2022-09)#


Java SE 18 (2022-03)#


Java SE 17 (LTS) (2021-09)#


Java SE 16 (2021-03)#


Java SE 15 (2020-09)#


Java SE 14 (2020-03)#


Java SE 13 (2019-09)#


Java SE 12 (2013-03)#


Java SE 11 (LTS) (2018-09)#

  • 增强 api
    • 字符串增强
    • 集合增强

Java SE 10 (2018-03)#

  • var 关键字
    • var 会根据后面的值来推断变量的类型,所以必须要初始化。

Java SE 9 (2017-09)#

  • Jshell
  • 模块化(Module)
    • java9 以前 :package => class/interface
    • java9 以后 :module => package => class/interface

Java SE 8 (LTS) (2014-03)#


Java SE 7 (2011-07)#


Java SE 6 (2006-12)#



J2SE 5.0 (2004-09)#



J2SE 1.4 (2002-02)#


J2SE 1.3 (2000-05)#


J2SE 1.2 (1998-12)#



JDK 1.1 (1997-02)#


JDK 1.0 (1996-01)#


JDK Beta (1995)#