【AICon】硅谷视野+中国实践,汇聚全球顶尖技术的 AI 科技盛会 >>> 了解详情
写点什么

Java 近期新闻:LibericaJDK 支持 RISC-V、Payara Platform、Gradle 8.6、LangChainj 0.26、Spring Cloud

  • 2024-02-23
    北京
  • 本文字数:4275 字

    阅读完需:约 14 分钟

大小:2.11M时长:12:17
Java近期新闻:LibericaJDK支持RISC-V、Payara Platform、Gradle 8.6、LangChainj 0.26、Spring Cloud

OpenJDK

Oracle Java 语言架构师 Brian Goetz 提交了 JEP Draft 8324965(类文件 API(第二次预览))进行第二轮预览,以获取对前一轮预览的反馈:在 JDK 22 中交付的 JEP 457(类文件 API(预览))。这个 JEP 提议提供一个 API 来解析、生成和转换 Java 类文件。这最初将作为 JDK 中 ASM(Java 字节码操作和分析框架)的内部替代品,并计划将其作为公共 API 开放。Goetz 将 ASM 描述为 "一个古老的代码库,带有大量的遗留问题",并提供了 背景信息,说明这个草案将如何发展并最终取代 ASM。

JDK 23

JDK 23 早期访问版本Build 8 已发布,包含了针对 Build 7 的 更新,其中包括对各种 问题 的修复。关于这个版本的更多详细信息可以在 发行说明 中找到。


JDK 22

JDK 22 早期访问版本Build 34 已发布,包含了针对 Build 33 的 更新,其中包括对各种 问题 的修复。关于这个版本的更多详细信息可以在 发行说明 中找到。


对于 JDK 23JDK 22,开发者可以通过 Java Bug Database 报告 bug。

GlassFish

GlassFish 7.0.12(第十二个维护版本)主要集中在查找和修复以往出现的几个“奇怪”的 WebSocket 相关 bug 的根本原因上。新特性包括:对 servlet 缓存过滤器的优化,消除在高请求速率下可能多次加载相同资源;在 AdminGUI 中新增了一个新的传输层安全 (TLS) 复选框;向 start-cluster 命令添加了一个新的 --debug 选项,类似于 start-domainstart-instance 命令,可以在调试模式下启动所有实例。关于这个版本的更多详细信息可以在 发行说明 中找到。


GraalVM

Oracle Labs 发布了 0.10.0版本Native Build Tools,这是一个 GraalVM 项目,包含了与 GraalVM 原生镜像互操作的插件。这个最新版本提供了:文档的改进;依赖项升级;支持工作流矩阵中测试数组的并发性;以及减少每次测试执行所需的时间。关于这个版本的更多详细信息可以在 变更日志 中找到。

Spring Framework

Spring Cloud 2022.0.5(代号 Kilburn)已经 发布,其中包括对子项目的更新,例如:Spring Cloud Vault 4.0.2、Spring Cloud Kubernetes 3.0.5、Spring Cloud OpenFeign 4.0.6 和 Spring Cloud Config 4.0.5。其中有一些重大变更,包括:由于在 Spring Framework 6 中移除了 AsyncRestTemplate 类,因此移除了 Spring Cloud LoadBalancer 的自动配置;移除了 spring.cloud.kubernetes.enabled属性,采用 Spring Boot 的 @ConditionalOnCloudPlatform 注解;迁移到 Spring Security OAuth2 客户端,支持 OAuth2。关于这个版本的更多详细信息可以在 发行说明 中找到。

Payara

Payara 发布了 Payara Platform 的 2024 年 1 月份版本,其中包括社区版 6.2024.1 和企业版 6.10.0。两个版本都包含了 bug 修复、组件升级以及对 ARM 架构的 Payara Micro 和 Payara Server Docker 镜像的支持。此外,还对 Okio 3.4.0 和 OkHttp 4.9.2 进行了依赖升级,解决了 CVE-2023-3635 这个漏洞,该漏洞由 Okio 中的一个缺陷引起,GzipSource 类在解析格式错误的 gzip 缓冲区时无法处理处理异常。攻击者可以处理格式错误的文件,从而导致拒绝服务。关于这些版本的更多详细信息可以在 社区版 6.2024.1企业版 6.10.0 的发行说明中找到。

Open Liberty

IBM 发布了 Open Liberty 的 24.0.0.1 版本,其中包括:扩展了对规范和实用工具的即时支持,例如 Jakarta XML Web ServicesJakarta Mail密码实用工具Java 数据库连接应用程序安全;以及验证 Open Liberty 公钥真实性的能力,可以检查签名、验证包是否由 Open Liberty 发布并且自发布以来没有被修改过。


IBM 还发布了基于 Eclipse OpenJ9 0.42 和 OpenJDK jdk-21.0.1+12 的 IBM Semeru Runtime 的开放和认证版本 21.0.1.0,并包含了来自 Oracle 关键补丁更新 的最新 CPU 和安全补丁。

Quarkus

Red Hat 发布了 Quarkus 的 3.7 版本,该版本提供了 bug 修复、依赖项升级和新功能,例如:将 JDK 17 作为基线;支持 Micrometer 的 @MeterTag 注解;以及使用内联证书链进行令牌验证。此版本还解决了两个问题:CVE-2023-5675,在 Quarkus RestEasy Reactive 和 Classic 应用程序中使用端点的授权缺陷,由使用注解处理器自定义的 Quarkus 扩展引起; CVE-2023-6267,一个基于注解的安全漏洞,即资源可能使用 JSON 消息体在评估和应用安全约束之前被处理,即反序列化。关于此版本的更多详细信息可以在 变更日志 中找到。


BellSoft

BellSoft 发布了 Liberica JDK 21,支持 RISC-V 架构,因为该架构在嵌入式系统中的普及程度越来越高。BellSoft 列出了选择 Java 作为 RISC-V 语言的主要原因:


  • 高性能、内存占用小,特别是在嵌入式系统使用他们的 Liberica JDK 时。

  • Java 具有良好的可移植性,采用 一次编写,到处运行 的模型,在生产环境中引入新架构时无需重写应用程序。

  • 有众多标准库可以用于处理任务,开发人员不必为特定用例编写自己的实现。

  • 方便的内存管理,避免内存分配错误。


关于 BellSoft 对 RISC-V 快速扩展和 Java 的评估的更多细节可以在这篇 文章 中找到。

Hibernate

Hibernate ORM 6.4.3.Final 发布,提供了 bug 修复和一个新特性,该特性可以支持使用 Atlas (一个管理数据库 schema 的工具)进行构建的项目中的 Oracle GraalVM。关于此版本的更多详细信息可以在 发行说明 中找到。


Infinispan

Infinispan 15.0.0.Dev08 发布,包括大量的依赖项升级和一些值得注意的变化,例如:将 Square 的 OkHttp 替换为 Java 的 HttpClient;将 TimeoutException 类移动到 org.infinispan.commons 包中,与 CacheException 类位于同一个包中;更新 JGroupsTransport 类,实现了 AddressGenerator 接口(对现有 TransportChannelListener 接口的补充)。关于此版本的更多详细信息可以在 发行说明 中找到。


类似的,Infinispan 14.0.23 也包含了大量依赖项升级和一些值得注意的变化,例如:添加了配置 JGroups bundler 的选项,可以将 transfer-queue 定义为默认的 bundler 类型,并禁用了 TCP SO_LINGER 设置;解决了一个问题,即在 SoftIndexFileStoreRestartTest 中定义的 testStatsUponRestart() 方法会意外复活被替换的值;解决了 TopologyChangeFunctionalTest 类中随机测试失败的问题,原因是更新函数不能正确处理状态传输的重试。关于此版本的更多详细信息可以在 发行说明 中找到。

Grails

Grails 6.1.2 发布,包含了依赖项升级和一些改进,例如:解耦了 Sonatype Nexus Repository 发布和发布作业的配置;与 Groovy 3.0.20 兼容;将任务分解为多个作业,改进了发布工作流程。关于此版本的更多详细信息可以在 发行说明 中找到。

TornadoVM

TornadoVM 1.0.1(第一个维护版本)包含了 bug 修复和一些改进,例如:初步支持 half-precision 数据类型;支持 Java Math 类中定义的 ceil() 方法,并在 TornadoMath 类中为所有后端添加了 ceil() 方法;在设备选择中启用多任务多设备行为作为 TaskGraph API 的一部分。关于此版本的更多详细信息可以在 发行说明 中找到。

Eclipse Vert.x

Eclipse Vert.x 4.5.2 发布,带来了一些值得注意的变化,例如:改进 HostAndPort API,特别是在处理 URI 权限方面;解决了 WebSocket 接口异常处理策略,其中 ConnectionBase 异常处理程序未在 exceptionHandler() 方法中正确设置;弃用在 DatabindCodec 类中定义的 prettyMapper() 方法,因为它不再被需要。关于此版本的更多详细信息可以在 发行说明弃用和重大变更 中找到。


类似的,Eclipse Vert.x 4.4.7 版本也带来了一些值得注意的变化,例如:一个新的 Timer 接口,它扩展了 Vert.x 的 Future 接口,可以用作未来链中的起始点,也可以在未来的组合中使用;确保Task 类的实例在被 Java Executor 拒绝时不在 TaskQueue 中。关于此版本的更多详细信息可以在 发行说明 中找到。


这两个版本都解决了 CVE-2024-1023漏洞,这是 Eclipse Vert.x 工具包中的一个漏洞,由于使用 Netty FastThreadLocal 类提供的数据结构而导致内存泄漏,特别是当 Vert.x HTTP 客户端与不同主机建立连接时。

Graal Cloud Native

Graal Cloud Native (GCN) 4.2.1 (Oracle 的 Micronaut Framework 构建版本)已发布,其中包括:新的 Google Cloud 指南;支持 JDK 21 和 GraalVM Native Image;一个带有 Micronaut Framework 4.2.1 的新材料清单;对 GCN LauncherGCN CLI 进行了更新;更新的 VS Code 工具。InfoQ 将跟进更详细的新闻报道。

OpenXava

OpenXava 7.2.3 发布,带来了 bug 修复、依赖项升级和改进,例如:当在 @Condition 中使用 @ManyToMany 注释时,如果 failOnAnnotationMisuse 属性设置为 true,则记录警告消息或抛出异常;当使用旧版本的 OpenXava 时记录警告消息;可能在应用中使用的新通用标签。关于此版本的更多详细信息可以在 发行说明 中找到。


JetBrains Ktor

JetBrains 发布 Ktor 2.3.8,这是一个用于创建微服务和 Web 应用程序的异步框架,包含了一些改进和问题修复,例如:当 CacheControl 类中定义的 max-age 属性的值大于 Int.MAX_VALUE 时抛出 NumberFormatException;在自定义 JavaScript 引擎中使用 URLBuilder 时,由于自身属性导致的 ReferenceError;在 RequestConnectionPoint 接口中实现了 toString() 方法,改进了日志记录。关于此版本的更多详细信息可以在 变更日志 中找到。

Keycloak

Keycloak 23.0.5 发布,包含了 bug 修复和新特性/增强,例如:在文档中将 Red Hat Data Grid 的引用改为 Infinispan;解决了使用细粒度权限时角色映射选项卡不可见的问题;更新了 AWS Route 53 指南,兼容 Red Hat OpenShift Service on AWS (ROSA) 和 Openshift 4.14.x。

LangChain for Java

LangChain for Java (LangChain4j) 0.26.0 带来了许多 bug 修复、新的集成和特性:高级检索增强生成 (RAG) 基础,灵感来自于这篇文章 和这份白皮书;通过在 LangChain4j Chat API 中实现图像输入并集成 OpenAI 和 Gemini 来支持多模态;在 ConversationalRetrievalChain 类的 execute() 方法中添加了元数据,允许用户在追加检索到的文档信息时添加额外信息。关于此版本的更多详细信息可以在 发布说明 中找到。

Gradle

Gradle 8.6 发布,带来了这些特性:支持通过GRADLE_ENCRYPTION_KEY环境变量配置缓存中的自定义加密密钥;改进了错误和警告报告;改进了Build Init Plugin,支持各种类型的项目;增强了插件作者和构建工程师开发自定义构建逻辑的功能。有关此版本的更多详细信息,请参阅发布说明


原文链接

https://www.infoq.com/news/2024/02/java-news-roundup-jan29-2024/


欢迎加入 InfoQ 读者技术交流群,与志同道合的朋友一起探讨知识,交流经验。


2024-02-23 10:505374

评论

发布
暂无评论

食堂就餐卡系统UML设计

架构师

架构第五周作业

Geek_Gu

极客大学架构师训练营

第五周总结

fmouse

Week 5 作業

Judyyy

Week 5 作业01

Croesus

week1-作业一:食堂就餐卡系统设计

未来已来

week1- 作业二:周总结

未来已来

Week_05 总结

golangboy

极客大学架构师训练营

Week 5 學習總結

Judyyy

第一周作业-食堂就餐卡设计

hunk

极客大学架构师训练营

5.3分布式缓存架构:一致性hash算法

张荣召

架构师训练营第五周命题作业

一马行千里

极客大学架构师训练营 命题作业

第一周 架构方法-学习总结

jizhi7

极客大学架构师训练营

「架构师训练营第 1 期」第五周作业

张国荣

学习总结-week1

Mr_No爱学习

架构师训练营第一周学习总结

xiaomao

食堂就餐卡系统设计

张小胖

极客大学架构师训练营 张小胖

第五周 作业二

Yangjing

极客大学架构师训练营

week1 学习总结

幸福小子

5.2分布式缓存架构:常见的缓存实现形式

张荣召

第一周作业总结

hunk

极客大学架构师训练营

第五周总结

Geek_ac4080

5.4消息队列:如何避免系统故障传递?

张荣召

食堂就餐卡系统设计

jizhi7

架构师训练营第一周学习总结

张小胖

极客大学架构师训练营

【架构师训练营第 1 期 05 周】 学习总结

Bear

极客大学架构师训练营

架构师训练营第五周总结

xs-geek

极客大学架构师训练营

5.5负载均衡架构

张荣召

第五周学习笔记

张荣召

第五周 技术选型 学习总结

应鹏

学习 极客大学架构师训练营

第五周作业

Geek_ac4080

Java近期新闻:LibericaJDK支持RISC-V、Payara Platform、Gradle 8.6、LangChainj 0.26、Spring Cloud_编程语言_Michael Redlich_InfoQ精选文章