💠

💠 2024-06-21 16:17:04


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 LST

详情

  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. 云原生适配

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

  1. Shenandoah GC
  2. Switch Expressions

Java13

Java14

Java15

Java16

Java17 LTS

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

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

Java18

Java21 LTS

OpenJDK 21

  1. 字符串模板 语法糖
  2. 分代ZGC
  3. 虚拟线程协程 轻量级线程 用户级线程

Java21新特性