本文重点分析Java12到Java17在性能方面和云计算方面取得的进展
Java 7,8,11. 17以及还未发布的Java 21均是LTS(Long Term Support)版本,Oracle提供5年的维护周期,以及3年的付费额外支持,一共8年维护周期。
到目前为主,工业界的主力版本依然是Java 8和11. 随着云计算,大数据,以及多核的快速发展,Java社区也在适就这些变化,在随后的Java版本中增加了很多对云场景、新硬件的技术,比如对容器技术的技术,对大内存和NUMA技术的支持。
先对三个比较重要的jdk版本记录一下
Java 8 新特性
- JEP 126:Lambda 表达式:Java 8 新特性—Lambda 表达式
- JEP 126:函数式接口:Java 8 新特性—函数式接口
- JEP 179:方法引用:Java 8 新特性—方法引用和构造器引用
- JEP 150:接口的默认方法:Java 8 新特性—接口默认方法和静态方法
- JEP 107:Stream API:Java 8 新特性—Stream API 对元素流进行函数式操作
- Optional 类:Java 8 新特性— 利用 Optional 解决NullPointerException
- JEP 170:新的日期时间 API:Java 8 新特性—日期时间 API && Java 8 新特性—日期时间格式化
- JEP 120:重复注解:Java 8 新特性—重复注解@Repeatable Base64 编码解码:Java 8 新特性—全新的、标准的 Base64 API
- JEP 104:类型注解:Java 8 新特性—类型注解
- JEP 101:类型推断优化:Java 8 新特性—类型推断优化
- JEP 174:Nashorn JavaScript 引擎
- JEP 122:移除Permgen
Java 11 新特性
- JEP 181: 基于嵌套的访问控制
新增 String API:Java 11 新特性—新增 String API - JEP 321:全新的 HTTP 客户端 API:全新的 HTTP 客户端 API
- JEP 323:局部变量类型推断的升级:局部变量类型推断的增强
- JEP 318:Epsilon—低开销垃圾回收器
- ZGC:可伸缩低延迟垃圾收集器
- JEP 335:废弃 Nashorn JavaScript 引擎
- 增加 Files API:Java 11 新特性—新增 Files API
- Optional API 增强:Java 11 新特性—Optional API 的增强
- JEP 328:飞行记录器(Flight Recorder)
- JEP 330:运行单文件源码程序
- JEP 320:删除 Java EE 和 corba 模块
Java 21 新特性
- JEP 430:字符串模板 (预览):Java 21 新特性—字符串模板
- JEP 431:有序集合:Java 21 新特性—有序集合
- JEP 439:分代 ZGC
- JEP 440:Record 模式
- JEP 441:switch 模式匹配
- JEP 442:外部函数和内存 API (第三次预览)
- JEP 443:未命名模式和变量 (预览):Java 21 新特性—未命名模式和变量
- JEP 444:虚拟线程(正式特性)
- JEP 445:未命名类和 main 方法 (预览):Java 21 新特性—未命名类和 main 方法
- JEP 446:作用域值 (预览)
- JEP 448:向量 API(第六次孵化)
- JEP 449:弃用 Windows 32 位 x86 端口
- JEP 451:准备禁止动态加载代理
- JEP 452:密钥封装机制 API 安全库
- JEP 453:结构化并发(预览)