JDK 各版本汇总表

提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档


一、JDK各版本,时间表

版本 发布日志 支持截至日 最后一次更新
J2SE 1.4 2002 年 2 月 2013 年 2 月 2008 年 10 月
J2SE 5.0 2004 年 9 月 2015 年 4 月 2009 年 11 月
Java SE 6 2006 年 12 月 2018 年 12 月 2013 年 4 月
Java SE 7 2011 年 7 月 2015 年 4 月 2022 年 7 月
Java SE 8 (LTS) 2014 年 3 月 2030 年 12 月 2019 年 01 月 Oracle 停止更新(商用)
2030 年 12 月 Oracle 停止更新(非商用)
2026 年 05 月 AdoptOpenJDK 停止更新
2023 年 06 月 Amazon Corretto 停止更新
Java SE 9 2017 年 9 月 不适用 2018 年 3 月 OpenJDK 停止更新
Java SE 10 2018 年 3 月 不适用 2018 年 9 月 OpenJDK 停止更新
Java SE 11 (LTS) 2018 年 9 月 2026 年 9 月 2024 年 8 月 Amazon Corretto 停止更新
2022 年 9 月 AdoptOpenJDK 于 停止更新
Java SE 12 不适用 2019 年 3 月 2019 年 9 月OpenJDK 停止更新
Java SE 13 不适用 2019 年 9 月 2020 年 3 月OpenJDK 停止更新
Java SE 14 不适用 2020 年 3 月 2020 年 9 月OpenJDK 停止更新
Java SE 14 2020 年 3 月 不适用 2020 年 9 月OpenJDK 停止更新
Java SE 15 2020 年 9 月 不适用 2021 年 3月OpenJDK 停止更新
Java SE 16 2021 年 3 月 不适用 2020 年 9 月OpenJDK 停止更新
Java SE 17 2021 年 9月 待定 待定
![在这里插入图片描述](https://img-blog.csdnimg.cn/19ff3f93be3c40c591656e04c17b19c6.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA6Zeu566A,size_20,color_FFFFFF,t_70,g_se,x_16)

二、JDK各版本、新特性

JDK4

正则表达式,异常链,NIO,日志类,XML解析器,XLST转换器

JDK5

自动装箱、泛型、动态注解、枚举、可变长参数、遍历循环

JDK6

提供动态语言支持、提供编译API和卫星HTTP服务器API,改进JVM的锁,同步垃圾回收,类加载

JDK7

  • 支持二进制数字 0b
  • 多个异常捕获(多个异常通过使用 “|”操作符分隔)
  • 安全的加减乘除
  • Switch 支持 String字符串
  • Java集合(Collections)增强
  • 两个char之间的equals方法
  • boolean类型的反转,空指针安全,参与位运算
  • 数值可以加下划线用作分隔符
  • 简化了可变参数方法的调用
  • 调用泛型类的构造方法时,可以省去泛型参数,编译器会自动判断。
  • 提供GI收集器
  • 加强对非Java语言的调用支持(JSR-292,升级类加载架构)

https://www.cnblogs.com/peter1018/p/9177110.html

JDK8

  1. Lambda 表达式
  2. 方法引用
  3. 默认方法
  4. 新工具*
  5. Stream API
  6. Date Time API
  7. Optional 类
  8. Nashorn JavaScript 引擎

https://www.runoob.com/java/java8-new-features.html
https://blog.csdn.net/yitian_66/article/details/81010434
https://blog.csdn.net/ZytheMoon/article/details/89715618

JDK9

重要:

  1. 模块系统
  2. 交互式编程环境, REPL(JShell)
  3. HTTP 2 客户端 ,(jdk9 中引入httpClient api 代替原有的HttpURLConnection )
  4. 改进的 Javadoc
  5. 多版本兼容jar包
  6. 集合工厂方法
  7. 进程 API
  8. 轻量级的 JSON API
  9. String底层存储结构的变更(char数组变成byte字节数组)
  10. 下划线标识符命名的限制 _ 不允许了

改进:

  1. 改进,Stream API (在java8基础上,新增加4个方法)
  2. 改进, try-with-resources
  3. 改进,弃用注解 @Deprecated
  4. 改进,钻石操作符(Diamond Operator)
  5. 改进, Optional 类
  6. 改进,多分辨率图像 API
  7. 改进,CompletableFuture API
  8. 响应式流(Reactive Streams) API
  9. 改进, 私有接口方法(在接口中 jdk7 只能声明全名常量和抽象方法 jdk8 添加了静态方法和默认方法 jdk9添加了私有方法)

https://www.runoob.com/java/java9-new-features.html
https://docs.oracle.com/javase/9/whatsnew/toc.htm

JDK10

  1. 局部变量的类型推断
  2. GC改进和内存管理
  3. 线程本地握手
  4. 备用内存设备上的堆分配
  5. 其他Unicode语言 - 标记扩展
  6. 基于Java的实验性JIT编译器
  7. 开源根证书
  8. 根证书颁发认证(CA)
  9. 将JDK生态整合单个存储库
  10. 删除工具javah

JDK11

  • 181 嵌套类可见性控制
  • 309 动态文件常量
  • 315 改进 Aarch64 Intrinsics
  • 318 Epsilon–一个无操作的垃圾收集器
  • 320 删除 Java EE 和 CORBA 模块
  • 321 HttpClient
  • 323 用于 Lambda 参数的局部变量语法
  • 324 Curve25519 和 Curve448 算法的密钥协议
  • 327 Unicode 10
  • 328 Flight Recorder(飞行记录器)
  • 329 haCha20 和 Poly1305 加密算法支持
  • 330 Launch Single-File Source-Code Programs(启动单一文件的源代码程序)
  • 331 低开销的 Heap Profiling
  • 332 TLS 1.3支持
  • 333 ZGC: A Scalable Low-Latency Garbage Collector(可伸缩低延迟垃圾收集器)
  • 335 弃用 Nashorn JavaScript 引擎
  • 336 弃用 Pack200 工具和 API

https://www.cnblogs.com/niujifei/p/15079097.html
https://www.oracle.com/java/technologies/javase/11-relnote-issues.html#NewFeature

JDK12

1、Switch Expressions;2、Shenandoah GC;

JDK13

1、switch优化更新;2、文本块升级;3、重新实现旧版套接字API;4、核心库/java.util中:I18N;5、取消使用未使
用的内存

JDK14

1、switch优化变更为最终版;2、垃圾回收相关;3、instanceof的模式匹配(预览版);4、删除了安全库java.security.acl API;5、货币格式(优化)
JDK15

参考

猜你喜欢

转载自blog.csdn.net/snake1900/article/details/121764756