百日筑基第四十二天-JDK版本梳理

百日筑基第四十二天-JDK版本梳理

JDK 10

JDK 10 是 Java SE 10 平台的开源参考实现,由 Java Community Process 中的 JSR 383 定义。

JDK 10 于 2018 年 3 月 20 日全面上市。Oracle 提供 GPL 下的生产就绪二进制文件;其他供应商的二进制文件也将很快推出。

此版本的功能和时间表是通过 JEP Process 提出和跟踪的,并由 JEP 2.0 提案修订。

Features

286: Local-Variable Type Inference局部变量类型推断
296: Consolidate the JDK Forest into a Single Repository将 JDK 森林整合到单个存储库中
304: Garbage-Collector Interface垃圾收集器接口
307: Parallel Full GC for G1G1 的并行完整 GC
310: Application Class-Data Sharing应用程序类数据共享
312: Thread-Local Handshakes线程本地握手
313: Remove the Native-Header Generation Tool (javah)删除本机标头生成工具 (javah)
314: Additional Unicode Language-Tag Extensions其他 Unicode 语言标签扩展
316: Heap Allocation on Alternative Memory Devices备用内存设备上的堆分配
317: Experimental Java-Based JIT Compiler基于 Java 的实验性 JIT 编译器
319: Root Certificates根证书
322: Time-Based Release Versioning基于时间的发布版本控制

JDK 11

JDK 11 是 Java SE 平台版本 11 的开源参考实现,由 Java 社区进程中的 JSR 384 指定。

JDK 11 于 2018 年 9 月 25 日全面上市。Oracle 提供 GPL 下的生产就绪二进制文件;其他供应商的二进制文件也将很快推出。

此版本的功能和时间表是通过 JEP 进程提出和跟踪的,并由 JEP 2.0 提案修订。此版本是使用 JDK 发布流程 (JEP 3) 制作的。

Features

181: Nest-Based Access Control基于嵌套的访问控制
309: Dynamic Class-File Constants动态类文件常量
315: Improve Aarch64 Intrinsics改进 Aarch64 内在函数
318: Epsilon: A No-Op Garbage CollectorEpsilon:无操作垃圾收集器
320: Remove the Java EE and CORBA Modules删除 Java EE 和 CORBA 模块
321: HTTP Client (Standard)HTTP 客户端(标准)
323: Local-Variable Syntax for Lambda ParametersLambda 参数的局部变量语法
324: Key Agreement with Curve25519 and Curve448与 Curve25519 和 Curve448 的密钥协议
327: Unicode 10Unicode 10
328: Flight Recorder飞行记录器
329: ChaCha20 and Poly1305 Cryptographic AlgorithmsChaCha20 和 Poly1305 加密算法
330: Launch Single-File Source-Code Programs启动单文件源代码程序
331: Low-Overhead Heap Profiling低开销堆分析
332: Transport Layer Security (TLS) 1.3传输层安全性 (TLS) 1.3
333: ZGC: A Scalable Low-Latency Garbage Collector
   (Experimental)
ZGC:可扩展的低延迟垃圾收集器(实验性)
335: Deprecate the Nashorn JavaScript Engine弃用Nashorn JavaScript 引擎
336: Deprecate the Pack200 Tools and API弃用 Pack200 工具和 API

JDK 12

JDK 12 是 Java SE 平台版本 12 的开源参考实现,由 Java 社区进程中的 JSR 386 指定。

JDK 12 于 2019 年 3 月 19 日全面上市。Oracle 提供 GPL 下的生产就绪二进制文件;其他供应商的二进制文件也将很快推出。

此版本的功能和时间表是通过 JEP 进程提出和跟踪的,并由 JEP 2.0 提案修订。此版本是使用 JDK 发布流程 (JEP 3) 制作的。

Features

189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental) Shenandoah:低暂停时间垃圾收集器(实验性)
230: Microbenchmark Suite微基准测试套件
325: Switch Expressions (Preview) Switch 表达式(预览)
334: JVM Constants API JVM 常量 API
340: One AArch64 Port, Not Two 一个 AArch64 端口,而不是两个
341: Default CDS Archives 默认 CDS 存档
344: Abortable Mixed Collections for G1 G1 的可中止混合集合
346: Promptly Return Unused Committed Memory from G1 及时从 G1 返回未使用的已提交内存

JDK 13

JDK 13 是 Java SE 平台版本 13 的开源参考实现,由 Java 社区进程中的 JSR 388 指定。

JDK 13 于 2019 年 9 月 17 日全面上市。Oracle 提供 GPL 下的生产就绪二进制文件;其他供应商的二进制文件也将很快推出。

此版本的功能和时间表是通过 JEP 进程提出和跟踪的,并由 JEP 2.0 提案修订。此版本是使用 JDK 发布进程 (JEP 3) 制作的。

Features

350:Dynamic CDS Archives动态 CDS 存档
351:ZGC: Uncommit Unused MemoryZGC:取消提交未使用的内存
353:Reimplement the Legacy Socket API重新实现旧版套接字 API
354:Switch Expressions (Preview)Switch 表达式(预览版)
355:Text Blocks (Preview)文本块(预览版)

JDK 14

JDK 14 是 Java SE 平台版本 14 的开源参考实现,由 Java 社区进程中的 JSR 389 指定。

JDK 14 于 2020 年 3 月 17 日全面上市。Oracle 提供 GPL 下的生产就绪二进制文件;其他供应商的二进制文件也将很快推出。

此版本的功能和时间表是通过 JEP 进程提出和跟踪的,并由 JEP 2.0 提案修订。此版本是使用 JDK 发布流程 (JEP 3) 制作的。

Features

305:Pattern Matching for instanceof (Preview)instanceof 的模式匹配(预览)
343:Packaging Tool (Incubator)打包工具(孵化器)
345:NUMA-Aware Memory Allocation for G1G1 的 NUMA 感知内存分配
349:JFR Event StreamingJFR 事件流
352:Non-Volatile Mapped Byte Buffers非易失性映射字节缓冲区
358:Helpful NullPointerExceptions有用的 NullPointerExceptions
359:Records (Preview)记录(预览)
361:Switch Expressions (Standard)Switch 表达式(标准)
362:Deprecate the Solaris and SPARC Ports弃用 Solaris 和 SPARC 端口
363:Remove the Concurrent Mark Sweep (CMS) Garbage Collector删除并发标记清除 (CMS) 垃圾收集器
364:ZGC on macOSmacOS 上的 ZGC
365:ZGC on WindowsWindows 上的 ZGC
366:Deprecate the ParallelScavenge + SerialOld GC Combination弃用 ParallelScavenge + SerialOld GC 组合
367:Remove the Pack200 Tools and API删除 Pack200 工具和 API
368:Text Blocks (Second Preview)文本块(第二个预览)
370:Foreign-Memory Access API (Incubator)外部内存访问 API(孵化器)

JDK 15

JDK 15 是 Java SE 平台版本 15 的开源参考实现,由 Java 社区进程中的 JSR 390 指定。

JDK 15 于 2020 年 9 月 15 日全面上市。Oracle 提供 GPL 下的生产就绪二进制文件;其他供应商的二进制文件也将很快推出。

此版本的功能和时间表是通过 JEP 进程提出和跟踪的,并由 JEP 2.0 提案修订。此版本是使用 JDK 发布流程 (JEP 3) 制作的。

Features

339:Edwards-Curve Digital Signature Algorithm (EdDSA)Edwards-Curve 数字签名算法 (EdDSA)
360:Sealed Classes (Preview)密封类(预览)
371:Hidden Classes隐藏类
372:Remove the Nashorn JavaScript Engine删除 Nashorn JavaScript 引擎
373:Reimplement the Legacy DatagramSocket API重新实现旧版 DatagramSocket API
374:Disable and Deprecate Biased Locking禁用和弃用偏向锁定
375:Pattern Matching for instanceof (Second Preview)instanceof 的模式匹配(第二个预览)
377:ZGC: A Scalable Low-Latency Garbage CollectorZGC:可扩展的低延迟垃圾收集器
378:Text Blocks文本块
379:Shenandoah: A Low-Pause-Time Garbage CollectorShenandoah:低暂停时间垃圾收集器
381:Remove the Solaris and SPARC Ports删除 Solaris 和 SPARC 端口
383:Foreign-Memory Access API (Second Incubator)外部内存访问 API(第二个孵化器)
384:Records (Second Preview)记录(第二个预览)
385:Deprecate RMI Activation for Removal弃用 RMI 激活以进行删除

JDK 16

JDK 16 是 Java SE 平台版本 16 的开源参考实现,由 Java 社区进程中的 JSR 390 指定。

JDK 16 于 2021 年 3 月 16 日全面上市。Oracle 提供 GPL 下的生产就绪二进制文件;其他供应商的二进制文件将很快推出。

此版本的功能和时间表是通过 JEP 进程提出和跟踪的,并由 JEP 2.0 提案修订。该版本是使用 JDK 发布流程 (JEP 3) 制作的。

Features

338:Vector API (Incubator)Vector API(孵化器)
347:Enable C++14 Language Features启用 C++14 语言功能
357:Migrate from Mercurial to Git从 Mercurial 迁移到 Git
369:Migrate to GitHub迁移到 GitHub
376:ZGC: Concurrent Thread-Stack ProcessingZGC:并发线程堆栈处理
380:Unix-Domain Socket ChannelsUnix 域套接字通道
386:Alpine Linux PortAlpine Linux 端口
387:Elastic Metaspace弹性元空间
388:Windows/AArch64 PortWindows/AArch64 端口
389:Foreign Linker API (Incubator)外部链接器 API(孵化器)
390:Warnings for Value-Based Classes基于值的类的警告
392:Packaging Tool打包工具
393:Foreign-Memory Access API (Third Incubator)外部内存访问 API(第三个孵化器)
394:Pattern Matching for instanceofinstanceof 的模式匹配
395:Records记录
396:Strongly Encapsulate JDK Internals by Default默认强封装 JDK 内部
397:Sealed Classes (Second Preview)密封类(第二个预览版)

JDK 17

JDK 17 是 Java SE 平台版本 17 的开源参考实现,由 Java 社区进程中的 JSR 390 指定。

JDK 17 于 2021 年 9 月 14 日全面上市。Oracle 提供 GPL 下的生产就绪二进制文件;其他供应商的二进制文件将很快推出。

此版本的功能和时间表是通过 JEP 进程提出和跟踪的,并由 JEP 2.0 提案修订。该版本是使用 JDK 发布流程 (JEP 3) 制作的。

Features

306:Restore Always-Strict Floating-Point Semantics恢复始终严格的浮点语义
356:Enhanced Pseudo-Random Number Generators增强的伪随机数生成器
382:New macOS Rendering Pipeline新的 macOS 渲染管道
391:macOS/AArch64 PortmacOS/AArch64 端口
398:Deprecate the Applet API for Removal弃用 Applet API 并将其删除
403:Strongly Encapsulate JDK Internals强封装 JDK 内部结构
406:Pattern Matching for switch (Preview)用于 switch 的模式匹配(预览)
407:Remove RMI Activation删除 RMI 激活
409:Sealed Classes密封类
410:Remove the Experimental AOT and JIT Compiler删除实验性 AOT 和 JIT 编译器
411:Deprecate the Security Manager for Removal弃用安全管理器并将其删除
412:Foreign Function & Memory API (Incubator)外部函数和内存 API(孵化器)
414:Vector API (Second Incubator)矢量 API(第二个孵化器)
415:Context-Specific Deserialization Filters上下文特定的反序列化过滤器

JDK 17 将是大多数供应商提供的长期支持 (LTS) 版本。有关自上一个 LTS 版本 JDK 11 以来集成的 JEP 的完整列表,请参见此处 here.

JDK 18

JDK 18 是 Java SE 平台版本 18 的开源参考实现,由 Java 社区进程中的 JSR 393 指定。

JDK 18 于 2022 年 3 月 22 日全面上市。Oracle 提供 GPL 下的生产就绪二进制文件;其他供应商的二进制文件将很快推出。

此版本的功能和时间表是通过 JEP 进程提出和跟踪的,并由 JEP 2.0 提案修订。该版本是使用 JDK 发布流程 (JEP 3) 制作的。

Features

400:UTF-8 by Default默认使用 UTF-8
408:Simple Web Server简单 Web 服务器
413:Code Snippets in Java API DocumentationJava API 文档中的代码片段
416:Reimplement Core Reflection with Method Handles使用方法句柄重新实现核心反射
417:Vector API (Third Incubator)矢量 API(第三个孵化器)
418:Internet-Address Resolution SPI互联网地址解析 SPI
419:Foreign Function & Memory API (Second Incubator)外部函数和内存 API(第二个孵化器)
420:Pattern Matching for switch (Second Preview)switch 的模式匹配(第二个预览)
421:Deprecate Finalization for Removal弃用 finalization 以进行删除

JDK 19

JDK 19 是 Java SE 平台版本 19 的开源参考实现,由 Java 社区进程中的 JSR 394 指定。

JDK 19 于 2022 年 9 月 20 日全面上市。Oracle 提供 GPL 下的生产就绪二进制文件;其他供应商的二进制文件将很快推出。

此版本的功能和时间表是通过 JEP 进程提出和跟踪的,并由 JEP 2.0 提案修订。该版本是使用 JDK 发布进程 (JEP 3) 制作的。

Features

405:Record Patterns (Preview)记录模式(预览)
422:Linux/RISC-V PortLinux/RISC-V 端口
424:Foreign Function & Memory API (Preview)外部函数和内存 API(预览)
425:Virtual Threads (Preview)虚拟线程(预览)
426:Vector API (Fourth Incubator)矢量 API(第四个孵化器)
427:Pattern Matching for switch (Third Preview)用于 switch 的模式匹配(第三个预览)
428:Structured Concurrency (Incubator)结构化并发(孵化器)

JDK 20

此版本是 Java SE 平台版本 20 的参考实现,由 Java 社区进程中的 JSR 395 指定。

JDK 20 于 2023 年 3 月 21 日全面上市。Oracle 提供 GPL 下的生产就绪二进制文件;其他供应商的二进制文件将很快推出。

此版本的功能和时间表是通过 JEP 进程提出和跟踪的,并由 JEP 2.0 提案修订。该版本是使用 JDK 发布进程 (JEP 3) 制作的。

Features

429:Scoped Values (Incubator)作用域值(孵化器)
432:Record Patterns (Second Preview)记录模式(第二个预览)
433:Pattern Matching for switch (Fourth Preview)switch 的模式匹配(第四个预览)
434:Foreign Function & Memory API (Second Preview)外部函数和内存 API(第二个预览)
436:Virtual Threads (Second Preview)虚拟线程(第二个预览)
437:Structured Concurrency (Second Incubator)结构化并发(第二个孵化器)
438:Vector API (Fifth Incubator)矢量 API(第五个孵化器)

JDK 21

此版本是 Java SE 平台版本 21 的参考实现,由 Java 社区进程中的 JSR 396 指定。

JDK 21 于 2023 年 9 月 19 日全面上市。Oracle 提供 GPL 下的生产就绪二进制文件;其他供应商的二进制文件将很快推出。

此版本的功能和时间表是通过 JEP 进程提出和跟踪的,并由 JEP 2.0 提案修订。该版本是使用 JDK 发布流程 (JEP 3) 制作的。

Features

430:String Templates (Preview)字符串模板(预览)
431:Sequenced Collections序列集合
439:Generational ZGC分代 ZGC
440:Record Patterns记录模式
441:Pattern Matching for switch切换模式匹配
442:Foreign Function & Memory API (Third Preview)外部函数和内存 API(第三个预览)
443:Unnamed Patterns and Variables (Preview)未命名模式和变量(预览)
444:Virtual Threads虚拟线程
445:Unnamed Classes and Instance Main Methods (Preview)未命名类和实例主方法(预览)
446:Scoped Values (Preview)作用域值(预览)
448:Vector API (Sixth Incubator)向量 API(第六个孵化器)
449:Deprecate the Windows 32-bit x86 Port for Removal弃用 Windows 32 位 x86 端口以进行删除
451:Prepare to Disallow the Dynamic Loading of Agents准备禁止代理的动态加载
452:Key Encapsulation Mechanism API密钥封装机制 API
453:Structured Concurrency (Preview)结构化并发(预览)

JDK 21 将是大多数供应商提供的长期支持 (LTS) 版本。有关自上一个 LTS 版本 JDK 17 以来集成的 JEP 的完整列表,请参见此处 here.

JDK 22

此版本是 Java SE 平台版本 22 的参考实现,由 Java 社区进程中的 JSR 397 指定。

JDK 22 于 2024 年 3 月 19 日全面上市。Oracle 提供 GPL 下的生产就绪二进制文件;其他供应商的二进制文件将很快推出。

此版本的功能和时间表是通过 JEP 进程提出和跟踪的,并由 JEP 2.0 提案修订。该版本是使用 JDK 发布流程 (JEP 3) 制作的。

Features

423:Region Pinning for G1G1 的区域固定
447:Statements before super(…) (Preview)super(…) 之前的语句(预览)
454:Foreign Function & Memory API外部函数和内存 API
456:Unnamed Variables & Patterns未命名变量和模式
457:Class-File API (Preview)类文件 API(预览)
458:Launch Multi-File Source-Code Programs启动多文件源代码程序
459:String Templates (Second Preview)字符串模板(第二个预览)
460:Vector API (Seventh Incubator)矢量 API(第七个孵化器)
461:Stream Gatherers (Preview)流收集器(预览)
462:Structured Concurrency (Second Preview)结构化并发(第二个预览)
463:Implicitly Declared Classes and Instance Main Methods (Second Preview)隐式声明的类和实例主方法(第二个预览)
464:Scoped Values (Second Preview)范围值(第二个预览)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值