Java 新增功能全面概述(概述.新增功能.Java...)
java 开发工具包 (jdk) 23 即将推出,候选版本现已推出,并计划于 2024 年 9 月 17 日正式发布。此版本带来了各种新功能和增强功能,将继续发展 java 编程语言,尽管它还存在一些问题。值得注意的是,jdk 23 是一个非 lts(长期支持)版本,oracle 仅提供六个月的支持。以下是 jdk 23 中最显着的添加和更改。
主要功能和增强功能作用域值(第三次预览版):以前版本中引入的作用域值可以更轻松地在线程内以及与子线程共享不可变数据。当与虚拟线程和结构化并发一起使用时,此功能特别有用,可以减少与线程本地值相关的开销。在 JDK 23 中,ScopedValue.callWhere 方法得到更新,引入了简化异常处理的新功能接口,而 ScopeValue.getWhere 方法已被删除。
结构化并发(第三次预览版):结构化并发旨在通过将多个线程之间的相关任务视为单个工作单元来简化并发编程。此增强功能改进了错误处理和可观察性,降低了线程泄漏和取消延迟等风险。这是结构化并发的第三次预览,继续在其早期迭代的基础上构建。
灵活的构造函数体(第二个预览版):此功能以前称为“super(…) 之前的语句”,允许构造函数在调用超类构造函数之前初始化字段。这一更改使开发人员可以更自由地构造构造函数逻辑,简化创建类的过程,同时保持构造函数自上而下的执行顺序。
隐式声明的类和实例方法:旨在让 Java 更容易被初学者使用,此功能允许更简单的类声明和更容易的程序扩展。 JDK 23 引入了额外的增强功能,包括自动导入用于文本 I/O 的三个静态方法以及 java.base 模块导出的包的所有公共顶级类和接口。
模块导入声明(预览):此新功能允许使用单个声明导入整个模块,从而简化了模块化库的使用。它的目的是让 Java 对于初学者来说更加用户友好,并在使用模块 API 的各个部分时减少多个导入语句的混乱。
Markdown 文档注释:JDK 23 引入了使用 Markdown 编写 JavaDoc 注释的功能,使文档更具可读性且更易于编写。此更改应该简化创建和维护 API 文档的过程。
-
分代模式下的 Z 垃圾收集器 (ZGC):ZGC 的默认模式现在将是分代的,专注于更频繁地收集年轻对象以提高应用程序性能。非分代模式将被弃用,这标志着垃圾收集将转向更现代的方法。
-
Vector API(第八次孵化):Vector API 继续开发,使开发人员能够表达跨不同 CPU 架构高效编译的向量计算。此次孵化旨在为矢量处理提供可靠的、以性能为导向的API。
-
Stream Gatherers(第二个预览版):Stream API 的这一增强引入了自定义中间操作,使流管道更加灵活并且能够处理无限流。
-
Class-File API:引入了一种用于处理类文件的新 API,与 Java 虚拟机规范保持一致。该API旨在替换内部ASM库,为类文件处理提供更标准化的方法。
-
模式、instanceof 和 switch 中的原始类型(预览版):此功能通过允许模式上下文中的原始类型、扩展 instanceof 和 switch 语句以处理所有原始类型来增强模式匹配。
- sun.misc.Unsafe 中的内存访问方法:sun.misc.Unsafe 中的内存访问方法在 JDK 23 中已弃用,并计划在未来版本中删除它们。鼓励开发人员过渡到 VarHandle API 或外部函数和内存 API,以确保与未来版本的 Java 的兼容性。
- 字符串模板:最初在 JDK 21 和 JDK 22 中预览,字符串模板已从 JDK 23 中删除。该功能旨在改进 Java 的字符串处理,但已推迟以进行进一步评估和潜在的重新设计。
Java 23 正在成为希望保持在现代编程实践最前沿的开发人员的重要更新。无论您是经验丰富的专业人士还是刚刚开始使用 Java,这些新功能都可以为每个人提供一些帮助。
系列索引 部分以上就是Java 新增功能全面概述的详细内容,更多请关注知识资源分享宝库其它相关文章!