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 的这一增强引入了自定义中间操作,使流管道更加灵活并且能够处理无限流。
类文件 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。虽然它是非 LTS 版本,但 JDK 23 中引入的功能为 Java 的未来开发奠定了基础,使其成为开发人员社区激动人心的更新。 ??
Java 23 正在成为对于希望保持在现代编程实践最前沿的开发人员的重要更新。无论您是经验丰富的专业人士还是刚刚开始使用 Java,这些新功能都可以为每个人提供一些帮助。
系列索引
Part | Title | Link |
---|---|---|
1 | # ? Mastering Regex in Java: A Developer's Essential Guide | Read |
2 | ? 9 Java Tricks for Every Developer** | Read |
3 | Exploring Object-Oriented Programming (OOP) Concepts with Java** | Read |
以上是Java 新增功能全面概述的详细内容。更多信息请关注PHP中文网其他相关文章!

本文讨论了使用Maven和Gradle进行Java项目管理,构建自动化和依赖性解决方案,以比较其方法和优化策略。

本文使用Maven和Gradle之类的工具讨论了具有适当的版本控制和依赖关系管理的自定义Java库(JAR文件)的创建和使用。

本文讨论了使用咖啡因和Guava缓存在Java中实施多层缓存以提高应用程序性能。它涵盖设置,集成和绩效优势,以及配置和驱逐政策管理最佳PRA

本文讨论了使用JPA进行对象相关映射,并具有高级功能,例如缓存和懒惰加载。它涵盖了设置,实体映射和优化性能的最佳实践,同时突出潜在的陷阱。[159个字符]

Java的类上载涉及使用带有引导,扩展程序和应用程序类负载器的分层系统加载,链接和初始化类。父代授权模型确保首先加载核心类别,从而影响自定义类LOA


热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

MinGW - 适用于 Windows 的极简 GNU
这个项目正在迁移到osdn.net/projects/mingw的过程中,你可以继续在那里关注我们。MinGW:GNU编译器集合(GCC)的本地Windows移植版本,可自由分发的导入库和用于构建本地Windows应用程序的头文件;包括对MSVC运行时的扩展,以支持C99功能。MinGW的所有软件都可以在64位Windows平台上运行。

螳螂BT
Mantis是一个易于部署的基于Web的缺陷跟踪工具,用于帮助产品缺陷跟踪。它需要PHP、MySQL和一个Web服务器。请查看我们的演示和托管服务。

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用