文章目录
- 前言
- 一、JDK
- 1. 简介
- 2. 版本
- 3. 版本定位
- 二、组成
- 三、分类
- 四、环境配置
- 1.Windows环境
- 五、JDK主流LTS版本比较
- 1.概述
- 2. JDK 版本特性解析
- 2.1 JDK 8:开启函数式编程新时代
- 2.2 JDK11:长期支持版本的过渡
- 2.3 JDK 17:长期支持版本的强大升级
- 2.4 JDK 21:性能与并发的全面优化
- 3. 版本对比表
- 4. 适用场景建议
- 5. 升级注意事项
- 6. GC
前言
JDK
Java Development Kit 是 Java 语言的软件开发工具包。
一、JDK
1. 简介
JDK(Java Development Kit) 是 Java 语言的软件开发工具包。主要用于应用程序、移动设备、嵌入式设备上的java应用程序。JDK是整个java开发的核心,它包含了JAVA的运行环境(JVM+Java系统类库)和JAVA工具。
- SE(JavaSE),standard edition,标准版,是我们通常用的一个版本,从JDK 5.0开始,改名为Java SE。
- EE(JavaEE),enterprise edition,企业版,使用这种JDK开发J2EE应用程序,从JDK 5.0开始,改名为Java EE。从2018年2月26日开始,J2EE改名为Jakarta EE。
- ME(J2ME),micro edition,主要用于移动设备、嵌入式设备上的java应用程序,从JDK 5.0开始,改名为Java ME。
没有JDK的话,无法编译Java程序(指java源码.java文件),如果想只运行Java程序(指class或jar或其它归档文件),要确保已安装相应的JRE。
2. 版本
以下是各版本的名称及发布日期:
| 版本 | 名称 | 发行日期 |
|---|---|---|
| JDK 1.1.4 | Sparkler(宝石) | 1997-09-12 |
| JDK 1.1.5 | Pumpkin(南瓜) | 1997-12-13 |
| JDK 1.1.6 | Abigail(阿比盖尔–女子名) | 1998-04-24 |
| JDK 1.1.7 | Brutus(布鲁图–古罗马政治家和将军) | 1998-09-28 |
| JDK 1.1.8 | Chelsea(切尔西–城市名) | 1999-04-08 |
| J2SE 1.2 | Playground(运动场) | 1998-12-04 |
| J2SE 1.2.1 | none(无) | 1999-03-30 |
| J2SE 1.2.2 | Cricket(蟋蟀) | 1999-07-08 |
| J2SE 1.3 | Kestrel(美洲红隼) | 2000-05-08 |
| J2SE 1.3.1 | Ladybird(瓢虫) | 2001-05-17 |
| J2SE 1.4.0 | Merlin(灰背隼) | 2002-02-13 |
| J2SE 1.4.1 | grasshopper(蚱蜢) | 2002-09-16 |
| J2SE 1.4.2 | Mantis(螳螂) | 2003-06-26 |
| J2SE 5.0 | - | 2004-09 |
| Java SE 5.0 (1.5.0) | Tiger(老虎) | 2004-09-30 |
| Java SE 6.0 (1.6.0) | Mustang(野马) | 2006-04 |
| Java SE 7.0 (1.7.0) | Dolphin(海豚) | 2011-07-28 |
| Java SE 8.0 (1.8.0) | Spider(蜘蛛) | 2014-03-18(LTS) |
| Java SE 9 | - | 2017-09-21 |
| Java SE 10 | - | 2018-03-14 |
| Java SE 11 | - | 2018-09-26(LTS) |
| Java SE 12 | - | 2019-03-20 |
| Java SE 13 | - | 2019-09-17 |
| Java SE 14 | - | 2020-03-17 |
| Java SE 15 | - | 2020-09 |
| Java SE 16 | - | 2021-03 |
| Java SE 17 | - | 2021-09(LTS) |
| Java SE 18 | - | 2022-03-22 |
| Java SE 19 | - | 2022-09-20 |
| Java SE 20 | - | 2023-03-21 |
| Java SE 21 | - | 2023-09-19(LTS) |
| Java SE 22 | - | 2024-03-19 |
| Java SE 23 | - | 2024-09-17 |
| Java SE 24 | - | 2025-03-18 |
| Java SE 25 | - | 2025-09(LTS) |
3. 版本定位
Java 版本分为LTS(Long-Term Support,长期支持版)和Non-LTS(非长期支持版),它们的主要区别如下:
| 对比项 | LTS 版本(长期支持) | Non-LTS 版本(非长期支持) |
|---|---|---|
| 发布周期 | 每2 年一次 | 每6 个月发布一次 |
| 支持时长 | 官方长期支持(8 年+ |