JDK 17 新特性

Java 17 发布于 2021 年 9 月 14 日。Java 17 版本是切换到新的 6 个月发布周期以来的第二个长期支持 (opens new window)(LTS)版本(第一个是 Java 11) [285] (opens new window)

主要特性

这次更新共带来 14 个新功能。

OpenJDK Java 17 文档:https://openjdk.java.net/projects/jdk/17/(opens new window)

JEP描述
JEP 306恢复始终严格的浮点语义(opens new window)
JEP 356增强的伪随机数生成器(opens new window)
JEP 382使用新的 macOS 渲染库(opens new window)
JEP 391支持 macOS/AArch64 架构(opens new window)
JEP 398删除已启用的 Applet API(opens new window)
JEP 403更强的封装 JDK 内部封装(opens new window)
JEP 406Switch 模式匹配(预览)(opens new window)
JEP 407移除 RMI Activation(opens new window)
JEP 409密封类(opens new window)
JEP 410JEP 401:移除实验性的 AOT 和 JIT 编译器(opens new window)
JEP 411弃用 Security Manager(opens new window)
JEP 412外部函数和内存 API(孵化器)(opens new window)
JEP 414Vector API(第二孵化器)(opens new window)
JEP 415指定上下文的反序列化过滤器(opens new window)

Java 17 下载

Oracle 下载

https://www.oracle.com/java/technologies/javase/jdk17-archive-downloads.html(opens new window)

adoptium 下载

https://adoptium.net/zh-CN/temurin/releases/?version=17(opens new window)

amazon corretto 下载

https://docs.aws.amazon.com/corretto/latest/corretto-17-ug/downloads-list.html(opens new window)

### JDK 8 至 JDK 17 新增特性和改进 #### JDK 9 特性 JDK 9 引入了模块化系统 Jigsaw,允许开发者创建和维护可重用的软件组件。此版本还增强了 Java 平台的安全性和性能,并提供了许多新的工具和技术来简化开发过程[^1]。 #### JDK 10 特性 JDK 10 主要集中在性能优化上,特别是针对本地变量类型的推断机制进行了改进。这使得编写更简洁、易读的代码成为可能。此外,在垃圾收集方面也做了显著提升,提高了应用程序的整体效率。 #### JDK 11 特性 作为长期支持版 (LTS),JDK 11 增加了许多实用的功能: - **Epsilon**:一种无操作(NoOp)垃圾回收器,适用于不需要实际执行GC的应用场景; - HTTP Client API 的标准化,用于替代旧版 `HttpURLConnection` 类; - TLS 1.3 支持,提供更快捷安全的数据传输协议; - 对字符串处理方法如 `lines()` 和 `isBlank()` 进行扩展; - Lambda 表达式的局部变量语法得到进一步完善; 这些变化不仅改善了用户体验,同时也加强了系统的稳定性和安全性。 #### JDK 12 到 JDK 16 特性概述 在这几个版本之间,Java 继续推进其现代化进程,包括但不限于: - Switch 表达式预览功能被正式纳入标准库; - 文本块(Text Blocks) 提供多行字符串字面量的支持; - 记录(Records) 和模式匹配(Pattern Matching) 开始进入实验阶段; - ZGC 和 Shenandoah GC 成为了生产环境下的选项之一; - 更好的错误报告机制让调试更加直观有效[^2]。 #### JDK 17 特性 到了 JDK 17 ,更多先前处于试验性质的功能成为了正式成员,比如 Records 和 Pattern Matching for switch 。同时继续强化对现有APIs 的优化和完善工作,确保整个生态系统能够持续健康发展下去。 ```java // 示例:使用JDK 17中的记录类定义一个简单的不可变对象 public record Point(int x, int y) {} ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值