Redian新闻
>
Java近期新闻:JDK 21的JEP、Spring Cloud AWS 3.0以及OptaPlanner转移至Timefold

Java近期新闻:JDK 21的JEP、Spring Cloud AWS 3.0以及OptaPlanner转移至Timefold

公众号新闻

作者 | Michael Redlich
译者 | 张卫滨
策划 | 丁晓昀
OpenJDK

JEP 448,Vector API(第六轮孵化),已经从 JDK 21 的 Candidate 状态 提升 至 Proposed to Target 状态。这个 JEP 位于 Panama 项目中,它纳入了前五轮孵化反馈的改进,即 JDK 20 交付的 JEP 438,Vector API(第五轮孵化)、JDK 19 交付的 JEP 426,Vector API(第四轮孵化)、JDK 18 交付的 JEP 417,Vector API(第三轮孵化)、JDK 17 交付的 JEP 414,Vector API(第二轮孵化) 和 JDK 16 交付的 JEP 338,Vector API(孵化)。该特性的目标是增强 Vector API,从而能够根据 JEP 424, 外部函数与内存 API(预览)的定义,从 MemorySegment 中加载和存储 Vector。该轮审查预计会在 2023 年 5 月 9 日结束。

JEP 445,无名类和实例主方法(Unnamed Classes and Instance Main Methods)(预览)已经从 JDK 21 的 Candidate 状态 提升 至 Proposed to Target。这个特性的 JEP 以前被称为灵活主方法和匿名主类(Flexible Main Methods and Anonymous Main Classes)(预览)以及隐式类和主方法增强(Implicit Classes and Enhanced Main Methods)(预览),提议“改进 Java 语言,以便于让学生无需了解为大型程序所设计的语言特性,就能编写出第一个程序”。这个 JEP 进一步推进了甲骨文的 Java 语言架构师 Brian Goetz 在 2022 年 9 月份所发表的博客文章 “Paving the on-ramp”。甲骨文技术团队的顾问成员 Gavin Bierman 发布了规范文档的第一个草案,供 Java 社区审查。该轮审查预计会在 2023 年 5 月 12 日结束。InfoQ 会以更详细的新闻报道进行跟踪。

JEP 441,switch 的模式匹配,已经从 JDK 21 的 Candidate 状态 提升为Proposed to Target 状态。该 JEP 最终确定了这一特性,并针对前四轮预览的反馈添加了一些改进,即 JDK 20 交付的 JEP 433,switch 的模式匹配(第四轮预览)、JDK 19 交付的 JEP 427,switch 的模式匹配(第三轮预览)、JDK 18 交付的 JEP 420,switch 的模式匹配(第二轮预览) 以及 JDK 17 交付的 JEP 406,switch 的模式匹配(预览)。该特性通过对 switch 表达式和语句进行模式匹配,增强了语言的功能。该轮审查预计会在 2023 年 5 月 11 日结束。InfoQ 会以更详细的新闻报道进行跟踪。

JEP 440,记录模式(Record Patterns),已经从 JDK 21 的 Candidate 状态 提升 到了 Proposed to Target 状态。该 JEP 最终确定了这一特性,并针对前两轮预览的反馈添加了一些改进,即 JDK 20 交付的 JEP 432,记录模式(第二轮预览) 和 JDK 19 交付的 JEP 405,记录模式(预览)。该特性使用记录模式来解构记录值,以实现对语言的增强。记录模式可以与类型模式结合使用,以“实现强大的、声明式的、可组合的数据导航和处理形式”。类型模式最近通过 JDK 18 交付的 JEP 420,switch 模式匹配(第二次预览) 和 JDK 17 交付的 JEP 406,switch 模式匹配(预览) 扩展到了 switch case 标签中。JEP 432 最重要的变化是移除了对出现在增强型 for 语句中的记录模式的支持。该轮审查预计会在 2023 年 5 月 11 日结束。InfoQ 会以更详细的新闻报道进行跟踪。

JEP 439,Generational ZGC,已经从 JDK 21 的 Candidate 状态提升为Proposed to Target 状态。该 JEP 建议“通过扩展 Z 垃圾收集器(ZGC)来提升应用的性能,使年轻对象和老对象保持独立的分代。这将允许 ZGC 更频繁地收集年轻的对象,这些对象往往会在较为年轻的时候就已经死亡了。”该轮审查预计会在 2023 年 5 月 10 日结束。InfoQ 会以更详细的新闻报道进行跟踪。

JEP 404,Generational Shenandoah(实验阶段),已经从 JDK 21 的 Candidate 状态提升到了 Proposed to Target 状态。该 JEP 建议“通过分代的收集功能增强 Shenandoah 垃圾收集器,以提高可持续的吞吐量、负载高峰的韧性和内存利用率。”与其他垃圾收集器(比如 G1、CMS 和 Parallel)相比,Shenandoah 目前需要额外的堆头部空间(headroom),并且更难恢复不可达对象占用的空间。该轮审查预计会在 2023 年 5 月 12 日结束。InfoQ 会以更详细的新闻报道进行跟踪。

JEP 450,紧凑的对象头信息(Compact Object Headers)(实验阶段) 已经从 JEP Draft 8294992 提升到了 Candidate 状态。在 Lilliput 项目 的支持下,该 JEP 草案建议将 Java 对象的头信息从 96 或 128 比特减少至 64 比特。Lilliput 项目由亚马逊云科技的首席工程师 Roman Kennke 创建,该项目在 2022 年 5 月实现了 64 比特的头信息,这是其第一个里程碑。

甲骨文的编程语言设计师 Daniel Smith 已经宣布,原名为空限制值对象存储(Null-Restricted Value Object Store)(预览)和基本类型类(Primitive Classes) (Preview) 的 JEP 401 改名为值对象的扁平化堆分布(Flattened Heap Layouts for Value Objects)。Smith 提供了一份更新的规范文档供社区审查。

JDK 21

JDK 21 的早期访问构建版本 Build 21 发布,该版本是对 Build 20 的更新,包含了对各种问题的修复。关于该版本的更多细节,请参阅发布说明。

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

Spring Framework

Spring Boot 3.1.0  第二个发布候选版本提供了一些新特性,比如,将 DockerComposeProperties 类中的默认关闭设置为 stop;自动应用 TestcontainersLifecycleApplicationContextInitializer 类进行上下文测试;增加对 SQL Server、Oracle Database、Liquibase、Flyway 和 Cassandra 数据库的 Docker Compose 服务连接支持。同时,Couchbase SSL 的 keystore 属性 spring.couchbase.env.ssl.key-storespring.couchbase.env.ssl.key-store-password 被弃用,转而使用 Couchbase 中对 SSL 绑定的支持。关于该版本的更多细节,请参阅发布说明。

Spring Modulith 0.6 提供了缺陷修复、依赖性升级以及值得关注的新特性,例如,如果启用了事件发布注册表,则自动配置 MongoDB 事务;事件发布注册表支持异步处理和关闭行为;@EnableScenario 注解,用来在 @SpringBootTest 集成测试中使用 Scenario Testing API;支持 Application Module Canvas 中的 jMolecules 架构类型。Spring Modulith 团队还决定将该项目提升为顶级的、非实验性的 Spring 项目,并计划在 Spring Boot 3.1 的 GA 发布后发布 1.0-M1 版本。关于该版本的更多细节,请参阅发布说明。

Spring Cloud for Amazon Web Services 的 3.0.0 版本发布,其新特性包括,与 Spring Boot 3.0 兼容;构建在 AWS SDK V2 for Java 之上;重写的 SQS 集成模块;对 DynamoDB 的重新集成。关于该版本的更多细节,请参阅发布说明。

Spring Cloud Data Flow 2.10.3发布,主要解决了传递性依赖中的安全性问题,比如,spring-security-oauth2-client-5.4.2spring-expression-5.2.11spring-webmvc-5.3.25json-smart-2.3jettison-1.51。此外,还有 Spring Boot 2.7.11 和 Spring Cloud 子项目的依赖性升级。关于这个版本的更多细节,请参阅发布说明。

Spring Tools 4.18.1发布,其特性包括,支持在探查 @Value 注解时导航到 Spring 属性文件;支持属性导航中的 @ConditionalOnProperty 注解,以及使用 Eclipse 2023-06 里程碑版本构建。Spring Tools 团队预计 4.19.0 版本将在 2023 年 6 月底发布。关于这个版本的更多细节,请参阅发布说明。

Infinispan

Infinispan 14.0.9.Final发布,其重要变化包括,修复 Infinispan 第三方集成测试与 JDK17 之间的问题;文档记录如何监控跨站复制;删除对 Jaeger 测试容器的依赖,并修复属性文件中的端口号。关于这个版本的更多细节可以在变更日志中找到。

Open Liberty

IBM发布了Open Liberty 23.0.0.4,其特性包括,为 ARM64 架构以及现有的 AMD64、PPC64LE 和 S390X 架构提供容器镜像;解决了 CVE-2023-24998,即 Apache Commons FileUpload 中的一个漏洞,由于请求部分的数量没有进行限制,攻击者可以通过恶意上传触发拒绝服务攻击。

Quarkus

Quarkus 3.0.2.Final 是第二个维护版本,其中有一些值得注意的变化,比如,在 Infinispan Dev Services 指南中把 server-list 文件改名为 hosts;修复 Dev UI2 显示错误 Java 版本的问题;解决 Kubernetes Dev Services 指南中没有正确记录 k3s 名称的问题;修正 RESTEasy Reactive 流资源方法导致原生模式下出现 NoSuchMethodException 异常的问题。关于这个版本的更多细节,请参阅发布说明。

Quarkus 2.16.7.Final发布,其特性包括,修复了 OIDC 代码加载令牌解密密钥时的算法对比缺陷;OIDC UserInfo 类的一个微小更新,如果给定名称的字符串或布尔属性不存在,会抛出 NullPointerException;解决 Quarkus dev 模式在使用 @ApplicationScoped 注解时无法与某种类型的项目目录树协同运行的问题;修正如果 OIDC 客户端无法获取令牌会抛出异常的问题。关于这个版本的更多细节,请参阅发布说明。

Helidon

甲骨文发布了 Helidon 3.2.1,其新特性包括, JpaExtension 类的启用标志,以允许后续的重构和替换;与 MicroProfile Rest Client 和 Fault Tolerance 规范进行集成的变化,以处理因 Weld 规范中的默认调用上下文问题而产生的异步调用;支持与 Jaeger OpenTelemetry 不同传播器的集成。关于这个版本的更多细节,请参阅发布说明。

Apache 软件基金会

Apache Camel 4.0.0 的第三个里程碑版本包含缺陷修复、依赖性升级和功能增强,例如,改变默认的 Micrometer 指标名称以遵循 Micrometer 命名约定;支持 Micrometer Observation;在 Spring Boot 实现中直接使用 HTTP 服务器;为添加 / 删除的 HTTP 端点添加监听器,使运行时(如 Spring Boot)更容易使用 Camel 的 platform-http 和自己的 HTTP 服务器。关于这个版本的更多细节,请参阅发布说明。

Arquillian

Arquillian 1.7.0.Final发布,其特性包括,支持 Jakarta Servlet 6.0;支持 @ArquillianResource 注解注入的 URL 使用 HTTPS;修复了使用 TestNG 7.5+ 时 LoggerFactory 类出现的 NoClassDefFoundError 异常的问题。关于这个版本的更多细节可以在更新日志中找到。

OptaPlanner 转移至 Timefold

OptaPlanner 是一个面向软件开发人员的开源人工智能约束解算器(constraint solver),它将转移至 Timefold,这是一家由 Maarten Vandenbroucke(联合创始人兼 CEO)和 Geoffrey De Smet(联合创始人兼 CTO)创建的新规划优化公司。OptaPlanner 是 De Smet 在红帽公司担任高级首席软件工程师时创建的,在红帽公司的支持下,OptaPlanner 已经发展成熟,提供了他们自己的版本。InfoQ 会以更详细的新闻报道进行跟踪。

原文链接:

Java News Roundup: JEPs for JDK 21, Spring Cloud AWS 3.0, OptaPlanner to Timefold(https://www.infoq.com/news/2023/05/java-news-roundup-may01-2023/)

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

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

今日好文推荐

微软Copilot“杀疯了”:Windows引入AI助手、Bing接入ChatGPT,弯道超车的机会来了?

一个价值70亿美元的教训!如何避免平台工程变成“大灾难”?

阿里云一年内将分拆上市;58同城被曝裁员,部分比例达50%;ChatGPT推出iOS版,免费还支持语音 | Q资讯

失控的不仅仅是云成本:一年为可观测性狂烧4.5亿,有钱的“大冤种”也扛不住了

微信扫码关注该文公众号作者

戳这里提交新闻线索和高质量文章给我们。
相关阅读
Java 近期新闻:新 JEP、GraalVM 23 早期访问构建、Infinispan、Mojarra现诵《SPRING HOLIDAY偶题 》by AP/盈盈/K2组合Java 近期新闻:JDK 21 发布计划、Payara 平台、JBang、JHipster、WildFlyDeepLab、DeepLabv3、RefineNet、PSPNet…你都掌握了吗?一文总结图像分割必备经典模型(二)10.3k?这才是企业级的 Spring Cloud Alibaba 微服务开发平台,真心牛 x!外媒报道:Jennie出演《The Idol》,Blackpink大力支持Spring Cloud 面试的 25 连环炮!从Pre-founder到Pro-founder,来鸵鸟会就够了|鸵鸟会人工智能营报名倒计时XM announces plans to become model city for express deliveryJava 近期新闻:JNoSQL 1.0、Liberica NIK 23.0、Micronaut 4.0-RC2、KCDC保姆级教程:Spring Cloud 集成 Seata 分布式事务“后会有期”到底是怎么一回事儿?ICLR 2023 | Edgeformers: 基于Transformer架构的表征学习框架Shenzhen Employee Fired for Refusing Team-Building EventYoung Chinese Love Everything About Sweden. Except Living There.一文搞懂TCP、HTTP、Socket、Socket连接池Agustín Hernández:中美洲建筑背景下的未来主义巨构SpringCloud Alibaba 之 Nacos 集群部署+高可用保证He Claimed to Be a Soldier in Ukraine. Except, He Was in Henan.回国——签证,奥斯卡,电影节(多图)Java近期新闻:Java Turns 28 岁、Payara Platform、Micronaut 4.0、Spring更新6 Killed in Guangdong Kindergarten Attack, Including 3 ChildrenJava 近期新闻:字符串模板、Quarkus、Open Liberty、PrimeFaces、JobRunr、DevnexusJava近期新闻:JDK 21进入Rampdown阶段、JEP 404、JDK 22专家组、Jakarta EE 11升级Wide&Deep、DCN、xDeepFM、DIN、GateNet、IPRec…你都掌握了吗?一文总结推荐系统必备经典模型(三)数次由美国入加拿大境,从一个套子里走出,回到“风吹草低见牛羊见牛羊”的感觉,杠杠的。美国就是个大公家。Spring breakJDK 21从主线fork ,成为下一个Java LTS版本Prompt Engineer也保不住工作了!Midjourney发布图片生成Prompt功能“Describe”英国伦敦爱丁堡带孩子游记 Spring 2023ICLR 2023 | Specformer: 基于Transformer的集合到集合图谱滤波器公检法明确:醉驾酒精含量200以下可缓刑,160以下可不诉!花之选择《夜來香》Looking to Buy a Home in China? It Might Come With a Gold Ingot.Spring Cloud Gateway 网关如何实现灰度发布?【周末综艺会6期】Spring Garden Show 和板蓝花儿开Jiangsu City Punishes Property Developers For Selling CheaplyThe Shanghai Museum Keeping Memories Of Jewish Refugees Alive
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。