NVIDIA 初创加速计划,免费加速您的创业启动 了解详情
写点什么

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:505358

评论

发布
暂无评论

《Redis 核心技术与实战》学习笔记 08:GEO数据类型和时间序列数据

escray

redis 学习 极客时间 3月日更 Redis 核心技术与实战

k8s(Kubernetes)中Pod,Deployment,ReplicaSet,Service之间关系分析

ucsheep

Kubernetes k8s pod Deployment ReplicaSet

商品溯源之痛,区块链对商品假冒的解决方案

13828808769

区块链+ 区块链应用 区块链发展 #区块链#

量化策略软件搭建,马丁策略交易软件开发

分而治之——D&C

Kylin

3月日更 21天挑战 分而治之

带你了解数据库的“吸尘器”:VACUUM

华为云开发者联盟

数据库 数据 GaussDB(DWS) VACUUM

“刷脸”日益泛滥,“掌经脉”开辟生物识别新路

E科讯

力扣(LeetCode)刷题,简单题(第14期)

不脱发的程序猿

面试 LeetCode 28天写作 算法攻关 3月日更

Python SMTP 发送邮件方法

HoneyMoose

Spring-Retry重试实现原理,有点东西哈

Java小咖秀

Java spring 源码 原理 开发

翻译:《实用的Python编程》07_04_Function_decorators

codists

Python PEP

自媒体平台数据统计分析爬虫之【趣头条】模拟登陆分析详解及数据统计接口详解

ucsheep

接口 爬虫 趣头条 模拟登录

技术杂谈 | Flutter 的性能分析、工程架构与细节处理

有道技术团队

flutter

用 WebRTC 打造一个音乐教育 App,要解决哪些音质难题?

阿里云视频云

音视频 WebRTC 在线教育 RTC

“英特尔‘IDM2.0’的疯狂”

E科讯

“数字云南”建设成效逐渐显现 区块链财政电子票据带来民生与环保效益

CECBC

区块链

直播预告 | 数据操作加速器,CloudQuery v1.3.5 发布

BinTools图尔兹

sql 编辑器 数据治理 数据安全 数据库管理工具

超详细!手把手带你快速入门 GitHub!

JackTian

git GitHub 开源

IAP:物联网终端软件升级技术

华为云开发者联盟

IoT LiteOS iap 物联网终端 OTA

情指勤指挥调度平台搭建,公安局情报指挥系统

终于知道为啥网页不让我复制粘贴了!

华为云开发者联盟

js 代码 button事件 复制粘贴 输入框

云原生技术及其未来发展趋势展望 | 趋势解读

浪潮云

云原生

PostgreSQL 集群宕机后恢复

桜喵ノねこ

区块链技术或加速企业“碳中和”战略落地

CECBC

区块

区块链BaaS应用服务平台的搭建

13828808769

区块链+ #区块链#

网络连接总超时?从四层模型上解析网络是怎么连接的

京东科技开发者

计算机网络 服务器 域名

PHP程序员如何简单的开展服务治理架构(一)

CrazyCodes

php 服务治理

【LeetCode】132模式Java题解

Albert

算法 LeetCode 3月日更

智慧公安重点人员管控系统大数据分析平台的搭建

13828808769

智慧城市 智慧交通

神策大数据技术直播系列课第二季,开讲啦

神策技术社区

大数据 性能优化 大前端 工程师 事件分析

云原生数据库风起云涌,华为云GaussDB破浪前行

华为云开发者联盟

数据库 架构 云原生 华为云 GaussDB

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