写点什么

Java 近期新闻:OpenJDK JEP、Spring 更新、Payara 平台和 Kotlin 1.6

  • 2021-11-26
  • 本文字数:2945 字

    阅读完需:约 10 分钟

Java近期新闻:OpenJDK JEP、Spring更新、Payara平台和Kotlin 1.6

2021 年 11 月 15 日起始周 Java 新闻更新:OpenJDK JEP、JDK 18、Loom 项目、多个 Spring 单点版本、MicroProfile 5.0-RC2、Payara 平台、一个新的 Jakarta EE 规范提议、JHipster 7.4.0、TornadoVM 0.12、Apache Camel K 1.7 和 Kotlin 1.6.0。


OpenJDK


JEP 419,即外部函数和内存 API(第二个孵化器),从 Candidate 阶段进入到 Proposed to Target 阶段。该 JEP 从 JEP 412(第一个孵化器,包含在 JDK 17 中)演化而来,根据 Java 社区的反馈做了改进,变化包括:支持更多的内存访问句柄,如 boolean 和 MemoryAddress 接口;更通用的 MemoryAddress 和 MemorySegment 接口解除引用 API;更简单的用于获取下行调用方法句柄的 API,不再需要传递 MemoryType 枚举;用于从内存段拷贝 Java 数组(以及将 Java 数组拷贝到内存段)的新 API。JEP 419 的评审将在 2021 年 11 月 23 号结束。


JEP 420,即 switch 模式匹配(第二个预览版),从 Candidate 阶段进入到 Proposed to Target 阶段。该 JEP 允许在 switch 表达式中使用多种模式,每一个模式对应一个特定的动作,支持复杂的面向对象查询。这是 JEP 406(第一个预览版,包含在 JDK 17 中)之后的第二个预览版,增强的地方包括:改进了支配地位检查(Dominance Checking),要求在统一类型的防御模式之前放置一个常量 case 标签;switch 代码块的穷尽性检查比之前更加精细。JEP 420 的评审将在 2021 年 11 月 23 号结束。


Oracle 首席 Java 语言架构师 Brian Goetz 在 2017 年 10 月份的一次 InfoQ 采访中表示模式匹配还处在概念验证阶段。instanceof 的模式匹配(JEP 394)包含在 JDK 16 中。


JEP 422,即 Linux/RISC-V 移植,从 Draft 阶段进入到 Candidate 阶段。该 JEP 是关于将 JDK 移植到 Linux/RISC-V,一个免费开源的 RISC 指令集架构。移植版本将支持模板解释、C1 和 C2 JIT 编译器,以及目前所有主流的垃圾回收器,包括 ZGC 和 Shenandoah。该 JEP 的主要目标是将移植版本集成到 JDK 的主线代码库中。


JDK 18


JDK 18 尝鲜构建版本Build 24可用,相比 Build 23,这次的主要更新包括对各种问题的修复。更多细节可参看版本公告


JDK 18 目前的特性集合如下:



开发者可以通过Java Bug Database提交 bug。


Loom 项目


Loom早期尝鲜18-loom+5-274 构建版可用,该版本基于 JDK 18 早期尝鲜版 Build 22 构建。


Spring Framework


过去繁忙的一周,Spring 团队的多个子项目发布了单点版本。


Spring Boot 2.6发布,将依赖项 Spring Data 升级到 2021.1、Spring HATEOAS 升级到 1.4、Spring AMQP 升级到 2.4、Spring Kafka 升级到 2.8、Spring Security 升级到 5.6、Spring Session 升级到 2021.1。其他新特性包括:增强的/info 端点,加入了 Java 运行时信息;支持使用 WebTestClient 接口来测试 Spring MVC 应用程序。


Spring Boot 2.4.132.5.7发布,分别包含了 26 个问题修复和 35 个问题修复,以及文档改进和依赖项升级。


在发布了 3 个里程碑和一个候选版本之后,Spring Security 5.6.0 正式可用,特性包括:一个新的 SecurityContextChangedListener 接口,可以作为 Lambda 表达式或方法引用的赋值目标;支持 SAML 2.0 单点登出;支持将 TestSecurityContextHolder 传播给 SecurityContextHolder。更多细节可在版本公告中找到。


Spring Cloud Netflix 发布2.2.10.RELEASE版本,解决了CVE-2021-22053漏洞,该漏洞允许执行通过/hystrix/monitor;[user-provided data]提交的代码(在使用 spring-cloud-netflix-hystrix-dashboard 和 spring-boot-starter-thymeleaf 解析视图模板时)。


Spring Batch 发布 4.3.4 和 4.2.8 版本,修复了一些问题:确保 JobParameters 类定义的 getParameters()方法返回的是不可变的参数;修复了在调用 MethodInvokingTaskletAdapter 和 NamedParameterJdbcTemplate 类时抛出的“IllegalArgumentException: Only 1 out of 2 arguments could be assigned”异常;确保在 SimpleJobExplorer 中定义的 getLastJobExecution()方法可以拿到单步执行任务和执行上下文。


Spring Kafka 发布2.8版本,特性包括:支持乱序的手动提交;一系列新的常见错误处理器取代了单独的 record 和 batch 错误处理器;KafkaTemplate<K,V>类现在可用于接收已知分区的记录。


Spring AMQP 发布2.4版本,初步支持 RabbitMQ Stream Plugin,并宣布弃用 Spring Remote Method Invocation(RMI)。更多细节可以在版本公告中找到。


MicroProfile 5.0 之路


在迈向 MicroProfile 5.0 的道路上,MicroProfile 工作服发布了第二个候选版本,其中包含了由社区开发的 8 个规范:



这些规范将向Jakarta EE 9.1看齐。


Payara


Payara发布了 2021 年 11 月份版本的 Payara Platform。Payara Platform Community 5.2021.9 包含了 11 项改进、6 个问题修复和 11 项组件升级。Payara Platform Enterprise 5.33.0 包含了 4 项改进、4 个问题修复和两项组件升级。社区版已支持 JDK 17,针对企业版还在做进一步的测试,以保证稳定性。两个版本都做出了一个重大变化,即移除了 TLS 1.0 和 TLS 1.1 协议,默认情况下禁用。


更多细节可在社区版企业版的版本公告中找到。


Jakarta EE


Jakarta EE 工作组提出制定一个新的 Jakarta EE 规范——Jakarta Commons,用于处理常见的 API、功能和开发库,确保规范的一致性。工作组正在通过这份文档向 Java 社区收集反馈。


JHipster


JHipster发布7.4.0 版本,修复了 User 实体的关系名称,支持 ECMAScript Modules(ESM)和 Vue 微前端架构,将 React JHipster 库更新成 Bootstrap 5.0,在作为 OAuth 2.0 资源服务器时可以处理 Auth0 的认证信息。


TornadoVM


TornadoVM 是一家开源软件公司,发布了 TornadoVM 0.12版本,特性包括:一个新的后端,用于 SPIR-V 的 Level Zero 分配器;一个改进的基准测试框架;基准测试框架中增加了新的指标,内核时间(kernel time)和数据传输(data transfers);改进的分析器,加入了新的命令行选项--enableProfiler <silent|console>和--dumpProfiler <jsonFile>。


曼彻斯特大学高级处理器技术研究小组研究员 Juan Fumero 在 2020 年 3 月伦敦 QCon 大会上介绍了 TornadoVM,并为 InfoQ 的技术文章提供了素材。


一个基于 Docker 的示例应用程序可以在 GitHub代码库中找到。


Apache Camel K


Apache Camel K 发布1.7版本,特性包括:支持 Quarkus Native Build 和 Kustomize,Apache Camel Kamelet Catalog 中增加了新 Kamelet。


Apache Camel K 是一个轻量级集成框架,基于 Apache Camel K Runtime 1.10.0、Apache Camel Quarkus 2.4.0、Apache Camel 3.12.0 和 Apache Camel Kamelets 0.5.0。


Kotlin


JetBrains发布Kotlin 1.6.0,带来了很多新特性:封印的 when 语句、改进的 suspend 函数类型和转换、注解类的初始化、改进的递归泛型类型推断。Kotlin/JVM、KotlinJS 和 KotlinNative 也得到了增强。开发者可以通过 JetBrains 布道师开发者 Anton Arhipov 在 YouTube 发布的视频来了解更多内容。


查看英文原文

Java News Roundup: OpenJDK JEPs for JDK 18, Spring Updates, Payara Platform, Kotlin 1.6

2021-11-26 13:126576

评论

发布
暂无评论
发现更多内容

ChatGPT-4:OpenAI的革命性升级

EquatorCoco

人工智能 ChatGPT GPT-4

【云栖2023】王峰:开源大数据平台3.0技术解读

阿里云大数据AI技术

开源

前端构建工具详解

不在线第一只蜗牛

前端 工具 前端框架

当我们在选国产工业软件时,到底在选什么?

ToB行业头条

如何优雅的开发?试试这个低代码项目

树上有只程序猿

软件开发 低代码 JNFP

2024中国供热展-2024山西国际供热采暖展会

秋硕展览

TOP8工具大揭秘!再也不怕绘制数据流图!

职场工具箱

车联网场景中的MQTT协议应用

阿里云AIoT

车联网 物联网 mqtt 阿里云;

情感语音识别技术的应用与未来发展

来自四九城儿

情感语音识别的技术挑战与解决方案

来自四九城儿

情感语音识别的前世今生

来自四九城儿

《开心消消乐》完成鸿蒙原生应用开发,创新多端联动用户体验

最新动态

制造行业怎么做?看低代码如何引领未来

快乐非自愿限量之名

软件开发 低代码 制造业

深度揭秘:数据流图四大要素的神奇作用!

职场工具箱

广州dapp系统开发、区块链交易系统开发搭建

V\TG【ch3nguang】

飞总聊IT|听飞总浅话大数据未来发展趋势

腾讯云大数据

大数据

【Uniapp开发】APP的真机调试指南,从开发到上架全过程

雪奈椰子

10款好用的项目管理工具推荐,项目经理必备的高效办公神器!

彭宏豪95

项目管理 项目经理 在线白板 项目管理软件 办公软件

百度智能云千帆大模型平台再升级,SDK版本开源发布!

herosunly

百度智能云正式上线Python SDK版本并全面开源!

爱编程的喵喵

GPT最佳实践:五分钟打造你自己的GPT

caiyongji

openai GPT ChatGPT

Senparc 基础库全面适配 .NET 8.0

不在线第一只蜗牛

.net

一招解密网络流量瓶颈!

观测云

基础设施 网络流量分析

智能未来,共铸创新 — Timecho 再次携手 Bosch Rexroth参展德国SPS智能生产解决方案展

Apache IoTDB

聊点技术|100%降本增效!Bonree ONE 通过 Clickhouse实现了

博睿数据

可观测性 博睿数据

常用压力测试工具锦集

优测云服务平台

KaiwuDB x 奇瑞超级工厂 | 汽车行业能源管理平台成功实践

KaiwuDB

能源管理 KaiwuDB

探索未来,开启无限可能:打造智慧应用,亚马逊云科技大语言模型助您一臂之力

熬夜磕代码、

大模型

评估 RAG 的神器来啦!TruLens + Milvus=?

Zilliz

Zilliz rag trulens

区块链各类项目系统搭建开发公司团队竭诚服务

V\TG【ch3nguang】

Java近期新闻:OpenJDK JEP、Spring更新、Payara平台和Kotlin 1.6_语言 & 开发_Michael Redlich_InfoQ精选文章