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时间性能分析
相关推荐
蛋蛋的就会顺顺的9 小时前
hot100 p0——栈,贪心算法,动态规划
java·前端·javascript·算法·leetcode·力扣
需要8269 小时前
Spring Bean 生命周期:从实例化到销毁的完整钩子
java·后端·spring
小 黄 鸡9 小时前
HashMap 面试必会知识点详解(JDK 8)
java·面试·职场和发展
死磕音视频10 小时前
让小模型做选择题:限定候选项并读取 logits 概率的入门实践(附 Python 代码)
开发语言·python·大模型·文本分类·transformers
伯恩bourne11 小时前
Spring Boot Bean 注册的两种方式:@Component 家族 vs @Configuration + @Bean
java·spring boot·后端
silvamux_12 小时前
curl 测试 OpenAI 兼容 API 的完整流程
java·人工智能·缓存·ai·oneapi
省钱兄--zs12 小时前
深圳24小时自助健身房软硬件解决方案实战指南与开发流程详解
java·数据仓库·spring boot·小程序·架构
顽疲12 小时前
Java vue 养老系统源码详解:月账单 care_month_bill 与 Quartz 扣费 Job 实践
java·开发语言·vue.js·vue养老·springboot养老·java养老
Wang's Blog13 小时前
Java 项目实战: 交友项目 - 安装开发工具与环境准备
java·开发语言·交友
用户212968352616813 小时前
开源了一个 Java 多智能体 LLM 框架 Baton:一个依赖,把 Agent 循环、工具调用、记忆、编排全配齐
java·llm