Java LTS版本重要升级特性对照表

Java LTS版本重要升级特性对照表

简介

介绍自 java8 以来每个稳定版本都提升了什么新特性。

本文只列出LTS版本,具体包括 Java 8, 11, 17, 21, 25 非LTS版本功能归入下一个LTS版本,不会列出绝大多数预览特性

本文只统计 JVM、重要语法、核心类库、JDK工具的升级特性,不包含某些语法糖语法和不重要类库的升级以及 bug 修复

特性对照表

LTS版本 JVM升级 语法 核心类库 JDK工具
Java 8 Metaspace替代PermGen G1 GC改进 Lambda表达式(invokedynamic) 接口默认方法 Stream API java.time包 Optional CompletableFuture jjs (Nashorn) jdeps依赖分析
Java 11 (含9/10特性) G1成为默认GC 统一JVM日志 Epsilon GC(无操作GC) ZGC实验版 Compact Strings 低开销Heap Profiling 改进的AArch64处理器内在函数 应用类数据共享(AppCDS) 模块系统(Jigsaw) 私有接口方法 局部变量类型推断 集合 API 增强 Process API增强 Reactive Streams (Flow) HTTP Client VarHandles jlink链接器 jshell REPL 多版本JAR 单文件源代码启动 移除JavaFX、CORBA Flight Recorder开源
Java 17 (含12-16特性) ZGC/Shenandoah生产可用 ZGC支持并发栈处理 弃用/删除多个旧GC组合 增强的伪随机数生成器 macOS AArch64移植 严格浮点运算成为默认 密封类(Sealed Classes) Records记录类型 Switch表达式 文本块(Text Blocks) instanceof模式匹配 Socket API重构(基于NIO) 改进NullPointerException消息 上下文感知反序列化过滤器 UNIX域套接字通道 jpackage打包工具 移除Nashorn引擎 强封装JDK内部API macOS Metal渲染管道
Java 21 (含18-20特性) Generational ZGC Generational Shenandoah(实验) 虚拟线程调度优化 Region Pinning for G1 G1巨型对象可移动 对象监视器与锁实现重构 虚拟线程(Virtual Threads) Record模式匹配 Switch模式匹配 Sequenced Collections Key Encapsulation Mechanism API 禁止动态加载代理(默认警告) UTF-8默认字符集 简单Web服务器
Java 25 (含22-24特性) 对象头压缩 ZGC默认支持Generational模式 Generational Shenandoah正式发布 AOT缓存简化 AOT方法性能分析 外部函数与内存 API(FFM) 柔性构造函数体 结构化并发 Stream Gatherers Scoped Values(替代ThreadLocal) Key Derivation Function API Class-File API JFR协作采样 JFR方法计时和追踪 JFR CPU时间性能分析
相关推荐
原来是好奇心2 小时前
深入Spring Boot源码(六):Actuator端点与监控机制深度解析
java·开发语言·源码·springboot
叠叠乐2 小时前
robot_state_publisher 参数
java·前端·算法
过期动态2 小时前
JDBC高级篇:优化、封装与事务全流程指南
android·java·开发语言·数据库·python·mysql
WizLC3 小时前
【Java】各种IO流知识详解
java·开发语言·后端·spring·intellij idea
Mr.朱鹏3 小时前
SQL深度分页问题案例实战
java·数据库·spring boot·sql·spring·spring cloud·kafka
小张快跑。3 小时前
【Java企业级开发】(十一)企业级Web应用程序Servlet框架的使用(上)
java·前端·servlet
星星不打輰3 小时前
SSM项目--SweetHouse 甜蜜蛋糕屋
java·spring·mybatis·ssm·springmvc
傻啦嘿哟3 小时前
实战:用Splash搞定JavaScript密集型网页渲染
开发语言·javascript·ecmascript
Knight_AL3 小时前
Java 线程池预热(Warm-up)实战:开启与不开启到底差多少?
java·开发语言