t-Based Access Control(基于嵌套的访问控制)、Flight Recorder(飞行记录器)、Epsilon GC(Epsilon垃圾回收器)改进的ZGC(Z Garbage Collector)等特性。
这是Java SE中长期支持版本中最新的一个版本,引入了HTTP客户端、Local-Variable Syntax for Lambda Parameters、ZGC等新功能,具有重要的实用价值。 2018年10月,最后一届JavaOne2018在旧金山举行,这个1996年伴随Java一同诞生、成长的开发者年度盛会落下帷幕。此外Java Mission Control(Java Mission Control (JMC)是一个由 Oracle 公司开发的用于监视、管理和分析 Java 应用程序的工具。)开发团队也于6月被Oracle解散。
?JDK 12(2019年3月):
?引入了Switch表达式预览功能、微基准测试套件等特性。
2019年2月,在JDK 12发布前夕,Oracle果然如之前宣布那样在六个月之后就放弃了对上一个版本OpenJDK的维护,RedHat同时从Oracle手上接过OpenJDK 8和OpenJDK 11的管理权利和维护职责。
?JDK 13(2019年9月):
?引入了文本块预览功能、动态CDS归档等特性。
?JDK 14LST(2020年3月):
?引入了实例模式匹配预览功能、非易失性内存支持等特性。
?JDK 15(2020年9月):
?引入了密封类预览功能、Edwards-Curve数字签名算法等特性。
?JDK 16(2021年3月):
?引入了记录类预览功能、向量API等特性。
?JDK 17LST(2021年9月):
?长期支持版本,引入了模式匹配、密封类等正式特性。
?JDK 18(2022年3月):
?引入简单的web服务器、支持在Java API文档中加入代码片段、制定UTF-8作为Java API的默认字符集。
?JDK 19 (2022年9月):
?引入结构化并发的API来简化多线程的编程、支持虚拟线程等。
?JDK 20LST (2023年3月):
?引入记录模式、Switch模式匹配等。
3.当前市面JDK版本使用情况
New Relic近日发布了一份《2023 年 Java 生态系统状况报告》,这份报告收集了上百万份线上的应用程序的数据,统计了目前生产环境中使用最多的JDK版本,最受欢迎的JDK供应商以及容器等的相关数据。
目前市面上有超过56%的应用程序使用了JDK 11,而相比之下,Java 8 的使用从2020年的84%降低到了现在的32%左右,大部分公司在这三年之间都升级到了JDK 11 或者 JDK 17这两个LTS版本上面。
在JDK 的厂商上面,Amazon这两年的增长量是比较大的,从22%上升到了31%,是目前市面上的各个JDK厂商中占比最高的。
4.总结
ok,以上就是截止目前所有的JDK版本及有关特性的简要介绍,原本对各个版本的特性整理了一张脑图,里面有详细的相关介绍,但是这块如果全部都放到文章里面会显得过于冗长,emm,其实目前我们使用的JDK还是JDK8,前段时间通过对JDK的调研还对JDK9中的模块化和JDK19中的虚拟线程进行了学习并使用实际demo对使用场景进行了验证,相关分析会在后续文章进行介绍。
ps:文章末尾附录一张脑图照片~
作者:京东科技 宋慧超
来源:京东云开发者社区 转载请注明出处