Java 近期新闻:JDK 20的JEP提升为Targeted状态,亚马逊云科技推出Lambda SnapStart特性

2023-03-29 14:03:43 浏览数 (1)

作者 | Michael Redlich

译者 | 刘雅梦

策划 | 丁晓昀

OpenJDK

JEP 432,记录模式(第二次预览),已从 JDK 20 的 Proposed to Target 状态 提升 为 Target 状态。该 JEP 更新自 JEP 405,记录模式(预览版),更新包括:增加了对通用记录模式类型参数推断的支持;增加了对记录模式出现在增强 for 语句条件判断中的支持;并删除了对命名记录模式的支持。

JEP 433,switch 模式匹配(第四次预览),已从 JDK 20 的 Proposed to Target 状态 提升 为 Target 状态。该 JEP 更新自 JEP 427,switch 模式模式匹配(第三次预览),更新包括:简化了 switch 标签语法;现在, switch 表达式和语句以及支持模式的其他构造体都支持泛型类型模式和记录模式的类型参数推断。

JEP 434,外部函数和内存 API(第二次预览),已从 JDK 20 的 Proposed to Target 状态提升为 Target 状态。该 JEP 在 Panama 项目的支持下不断演进:JEP 424,外部函数和内存 API(预览),在 JDK 19 中交付;JEP 419,外部函数和内存 API(第二个孵化器版本),在 JDK 18 中交付;以及 JEP 412,外部函数和内存 API(孵化器) 在 JDK 17 中交付。该 JEP 提议基于反馈进行改进,并在 JDK 20 中提供第二次预览。更新包括:统一了 MemorySegmentMemoryAddress 接口,即,内存地址由零长度的内存段建模;并且增强了MemoryLayout 密封接口,以便于与 JEP 427,switch 中的模式匹配(第三次预览)一起使用。

JEP 429,作用域值(孵化器),已从 JDK 20 的 Candidate 状态 提升 为 Proposed to Target 状态。这个正在孵化的 JEP,最初名为范围局部变量(孵化器,Extent-Local Variables),由 Loom 项目赞助,提议在线程内部和线程之间共享不可变数据。这优于线程局部变量,尤其是在使用大量虚拟线程时。

JEP 436,虚拟线程(第二次预览),已从 JDK 20 的 Candidate 状态提升为建议 Proposed to Target 状态。在 Loom 项目的支持下,该 JEP 基于 JDK 19 中提供的 JEP 425,虚拟线程(预览版),提出了第二次的预览,以便有时间为该功能的演进提供更多的反馈和经验。需要注意的是,除了少量在 JDK19 中被固化的 JEP 425 API 外,本预览版本没有进行任何更改,因此没有在第二次预览中提出。

JEP 437,结构化并发(第二个孵化器),在 JDK 20 中从 Candidate 状态提升为 Proposed to Target 状态。该 JEP 也是在 Loom 项目的支持下,提议基于从 JDK 19 中提供的 JEP 428,结构化并发(孵化器) 中重新孵化该特性,以便有时间提供更多的反馈和经验。唯一的变化是更新了 StructuredTaskScope 类,以支持在任务作用域中创建的线程继承作用域值。这简化了跨线程不可变数据的共享。

这三个 JEP 的审查将于 2022 年 12 月 6 日结束。

JDK 20

JDK20早期访问构建版本中的第 26 版也已于上周发布,其中包括对第 25 版各种问题的修复和更新。有关该版本的更多详细信息,请参阅发布说明。

对于 JDK 20,鼓励开发人员通过 Java 缺陷数据库报告缺陷。

JavaFX 20

JavaFX 20早期访问构建版本中的第 10 版已提供给 Java 社区。JavaFX 专为使用 JDK 20 早期访问构建版本而设计,应用程序开发人员可以在 JDK 20 上使用 JavaFX 20 构建和测试其应用程序。

Spring 框架

Spring Integration 6.0 已发布,其特性包括:JDK 17 和 Jakarta EE 9 基线;支持 GraalVM 和 Spring AOT 引擎的原生镜像;具有千分尺和千分尺跟踪的可观测性仪器;以及对 Jakarta EE 10 的支持。有关该版本的更多详细信息,请参阅最新动态页面。

Spring Vault 3.0 也已发布,其特点包括:JDK 17 基线;支持额外的 HTTP 客户端,包括响应式 JDK HTTP 客户端;并支持使用版本化密钥 / 值机密引擎的 Vault 存储库。有关该版本的更多详细信息,请参阅发布说明。

Spring Cloud 2022.0.0 的第三个候选版本,代号为 Kilburn,已向 Java 社区提供。该版本提供了对 Spring Cloud 子项目 RC3 版本的更新,如:Spring Cloud OpenFeign 4.0.0、Spring Cloud Commons 4.0.0、SpringCloud Function 4.0.0 和 Spring Cloud Starter Build 2022.0.0。但是,由于 Spring Cloud CLI、Spring Cloud for Cloud Foundry 和 Spring Cloud Sleuth 等子项目的移除,也引入了一些破坏性的更改。Spring Cloud 2022.0.0-RC3 要求 Spring Boot 3.0.0。有关该版本的更多详细信息,请参阅发布说明。

亚马逊云科技

在最近的 re:Invent 大会上,亚马逊云服务为其 AWS Lambda 项目推出了 一项新特性 Lambda SnapStart,旨在减少 Java 函数的冷启动,并加速 Lambda 函数。Quarkus 和 Micronaut 已经实现了对 Lambda SnapStart 的支持。更多详细信息请参阅 InfoQ 的新闻报道 和亚马逊云科技 博客文章。

Quarkus

红帽(Red Hat)发布了 Quarkus 2.14.2 和 2.13.5 版本,主要修复了 CVE-2022-4116 漏洞,CVE-2022-4116 是 Dev UI 配置编辑器中的一个漏洞,容易受到本地主机驱动攻击,导致远程代码执行。该版本还加强了对跨源资源共享(CORS)的处理,包括在 CORS 请求因来源无效而被拒绝时将 200 OK 更改为 403 FORBIDEN 。有关这些版本的更多详细信息,请参阅 2.14.2 版 和 2.13.5 版 的发布说明。

在通往 Quarkus 2.15.0 的道路上,第一个候选版本 也提供了新特性,比如:与 Quarkus CRaC/Firecracker 的集成;将 gRPC 扩展迁移到新的 Vert.x gRPC 实现;使用 Panache 扩展支持在 REST 数据中根据命名查询进行过滤;以及对 GraalVM 22.3.0、Mandrel 2.13 和 SmallRye GraphQL 1.9.0 的依赖项升级。

Apache Camel

Apache Camel 3.18.4 已发布,对 Spring Boot 2.7.6 和 HyperSQL DB 2.7.1 进行了 27 个 bug 修复、改进和依赖项升级。有关该版本的更多详细信息,请参阅发布说明。

JHipster

在 JHipster,已经开始将平台升级到 Spring Boot 3.0。Okta 的开发人员倡导者、Java Champion 和 JHipster 开发团队成员 Matt Raible 提供了团队迄今为止遇到的问题的最新情况,即:BlockHound 需要一个新的 WebFlux 的入口;健康检查在 Elasticsearch 8 中不起作用;MongoDB 和 WebFlux 与 JUnit 和 MongoDB 驱动程序 4.2 死锁。有关这些问题的更多详细信息,请参阅此 GitHub拉取请求。

原文链接:

https://www.infoq.com/news/2022/12/java-news-roundup-nov28-2022/

相关阅读:

对话 Spring 大神:Spring 生态系统的新时代来了!

Java 新闻汇总:Spring 发布,Resilience4j,Open Liberty,GlassFish,Kotlin 1.8-Beta(https://www.infoq.cn/article/GGdb3Y7cO9Pw2Bf8NfIW)

声明:本文为 InfoQ 翻译,未经许可禁止转载。

点击底部阅读原文访问 InfoQ 官网,获取更多精彩内容!

今日好文推荐

如何更好地干掉微服务架构复杂性?

争相上市、抢夺本土市场,未来三五年数据库将迎来大洗牌 | 解读数据库的2022

颠覆开发模式的创新发布背后,我看见了云计算的下一个十年

覆盖数万研发人员,字节跳动首次公开效能度量核心技术!

0 人点赞