Skip to content

Latest commit

 

History

History
252 lines (204 loc) · 7.65 KB

File metadata and controls

252 lines (204 loc) · 7.65 KB
title date tags categories
Java主要发行版概述
2018-11-21 02:56:52 -0800
Java

💠

💠 2025-12-16 20:19:27


Java主要发行版本

官网 Release Note

Java语言特性系列 5-最新

参考: JDK的版本号解惑

Java5

泛型 枚举 装箱拆箱 静态导入 foreach

Java6

JDBC4.0 JAX-WS 2.0

Java7

详情

  1. 语法糖:数字中的下划线
  2. 新的语言小特性:TWR(try with resources)
  3. 类文件格式的变化:注解
  4. JVM的新特性: 动态调用
  5. 引入G1收集器

Java8 LTS

详情

  1. 接口中新增 静态方法,默认方法
  2. 新增 Optional
  3. 新增 Lambda
  4. 新增 Stream
  5. java.time 包 增强了日期时间的处理
  • 181 子版本移除了 Derby

Java9

参考: Java 9 新特性概览

参考: Java9 新特性汇总
参考: Java 9 新特性概述
参考: 深入解读 Java 9 新特性

  1. Jigsaw 模块化
  2. Stream Optional 改进
  3. 内置 轻量级 JSON API
  4. HTTP2 客户端
  5. 云原生适配
  6. 默认GC更换为G1

Java10

参考: Java10的新特性

  1. 类型推断
  2. String 类 API 增强
  3. 集合 API 增强
  4. Stream 增强
  5. Optional 增强
  6. java javac 合并

Java11 LTS

详情

参考: Java11的新特性

  1. Flight Recorder 开源
  2. Epsilon 空gc实现: 用于性能测试
  3. HttpClient 默认实现

Oracle JDK11 Migration Guide
Jdk8到jdk11 Springboot 踩坑指南

Illegal reflective access by org.springframework.cglib.core.ReflectUtils

  • 增加JVM参数 --add-opens java.base/java.lang=ALL-UNNAMED

Java12

OpenJDK 12

  1. Switch Expressions (预览)
  2. Shenandoah GC: 低暂停时间垃圾收集器 (实验性)
  3. JVM Constants API
  4. 默认 CDS 归档
  5. G1 增强:
    • 可中止的混合收集
    • 及时返回未使用的已提交内存
  6. 微基准测试套件
  7. String API 增强: indent() transform()

Java13

  1. Text Blocks (文本块) 预览版
  2. Switch Expressions 改进
  3. 重新实现 Socket API
  4. Dynamic CDS Archives 动态归档
  5. ZGC 增强: 取消提交未使用的内存

Java14

  1. Switch Expressions 正式版
  2. instanceof 模式匹配 (预览)
  3. Records 记录类型 (预览)
  4. Text Blocks 改进
  5. NullPointerException 增强: 更详细的异常信息
  6. 删除 CMS 垃圾收集器

Java15

  1. Text Blocks 正式版
  2. Sealed Classes 密封类 (预览)
  3. Hidden Classes 隐藏类
  4. Records 改进 (二次预览)
  5. instanceof 模式匹配 (二次预览)
  6. ZGC 和 Shenandoah GC 转正
  7. 移除 Nashorn JavaScript 引擎

Java16

  1. Records 正式版
  2. instanceof 模式匹配 正式版
  3. Sealed Classes (二次预览)
  4. Vector API (孵化器)
  5. 启用 C++14 语言特性
  6. ZGC 并发线程栈处理
  7. Unix-Domain Socket Channels

Java17 LTS

  1. Sealed Classes 正式版
  2. 恢复始终严格的浮点语义
  3. Pattern Matching for switch (预览)
  4. 移除 RMI Activation
  5. 弃用 Applet API
  6. 强封装 JDK 内部 API
  7. Context-Specific Deserialization Filters

从JDK 8升级到JDK 17踩坑全过程

jdeps --jdk-internals --multi-release 17 --class-path . encloud-api.jar 分析依赖的废弃api

Java18

  1. UTF-8 默认字符集
  2. Simple Web Server 简单 Web 服务器
  3. 代码片段 Javadoc 标签
  4. Pattern Matching for switch (二次预览)
  5. Vector API (三次孵化)
  6. 弃用 Finalization 机制
  7. 互联网地址解析 SPI

Java19

  1. Record Patterns (预览)
  2. Pattern Matching for switch (三次预览)
  3. Virtual Threads 虚拟线程 (预览)
  4. Structured Concurrency 结构化并发 (孵化)
  5. Vector API (四次孵化)
  6. Foreign Function & Memory API (预览)

Java20

  1. Record Patterns (二次预览)
  2. Pattern Matching for switch (四次预览)
  3. Virtual Threads (二次预览)
  4. Structured Concurrency (二次孵化)
  5. Scoped Values (孵化)
  6. Vector API (五次孵化)

Java21 LTS

OpenJDK 21

  1. 字符串模板 语法糖 (预览)
  2. 分代ZGC
  3. 虚拟线程 正式版 协程 轻量级线程 用户级线程
  4. Sequenced Collections 有序集合
  5. Record Patterns 正式版
  6. Pattern Matching for switch 正式版
  7. Structured Concurrency (预览)
  8. Scoped Values (预览)

Java21新特性

Java22

OpenJDK 22

  1. Unnamed Variables & Patterns 未命名变量和模式 (预览)
  2. String Templates 字符串模板 (二次预览)
  3. Statements before super() 构造函数中 super() 之前可以使用语句 (预览)
  4. Foreign Function & Memory API (预览)
  5. Region Pinning for G1 GC: G1 GC 区域固定
  6. Structured Concurrency (二次预览)
  7. Scoped Values (二次预览)
  8. Stream Gatherers (预览)

Java23

OpenJDK 23

  1. Primitive Types in Patterns 模式中的基本类型 (预览)
  2. Module Import Declarations 模块导入声明 (预览)
  3. Markdown Documentation Comments Markdown 文档注释 (预览)
  4. Flexible Constructor Bodies 灵活的构造函数体 (二次预览)
  5. Stream Gatherers (二次预览)
  6. Structured Concurrency (三次预览)
  7. Scoped Values (三次预览)
  8. Class-File API (预览)
  9. ZGC: 分代模式成为默认

Java24

OpenJDK 24

  1. Late Barrier Expansion for G1 G1 延迟屏障扩展
  2. Stream Gatherers (三次预览)
  3. Flexible Constructor Bodies (三次预览)
  4. Structured Concurrency (四次预览)
  5. Scoped Values (四次预览)
  6. Module Import Declarations (二次预览)
  7. Vector API (八次孵化)

Java25 LTS

OpenJDK 25 (LTS预期)

JDK25更新了哪些特性?一文全部掌握-腾讯云开发者社区-腾讯云

  1. 虚拟线程和并发模型的进一步优化
  2. Loom 项目完善: 结构化并发预览
  3. JEP 506: Scoped Values: 线程间共享变量,用来替换的ThreadLocal。