写点什么

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

评论

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

Thanos 架构剖析(六)告警规则如何管理

耳东@Erdong

Thanos 签约计划第二季 Rule

拆解&组合

圣迪

数据 创新 组合 拆解 要素

【Spring Boot 快速入门】六、Spring Boot集成Redis

小阿杰

redis SpringBoot 2 内容合集 签约计划第二季

Go 语言快速入门指南:第四篇 与数据为舞之数组

宇宙之一粟

数组 签约计划第二季 12月日更

腾讯新闻基于 Flink PipeLine 模式的实践

腾讯云大数据

flink pipeline 流计算 Oceanus

Thanos 架构剖析(三)如何选择 Sidecar 和 Receiver

耳东@Erdong

Thanos 签约计划第二季 Sidecar Receiver

Python Qt GUI设计:窗口之间数据传递(拓展篇—5)

不脱发的程序猿

Python qt PyQt GUI设计 窗口之间数据传递

广州站 | 云原生 Serverless 技术实践营精彩回顾

阿里巴巴云原生

阿里云 Serverless 云原生 线下活动

Thanos 架构剖析(五)历史数据怎么办

耳东@Erdong

Thanos 签约计划第二季 compactor

精髓 一文带你了解VMware vSphere 网络、vSwitch、端口组!

Ethereal

2020年净利暴涨1288%,遨森电商携手DataPipeline构建实时数据融合体系跑出加速度!

DataPipeline数见科技

数据库 大数据 中间件 数据融合 数据管理

Thanos 架构剖析(一)Thanos 架构总览

耳东@Erdong

架构 Thanos 签约计划第二季

Go 语言快速入门指南:第三篇 流程控制

宇宙之一粟

for 流程控制 swith 签约计划第二季 if语句

重学计算机组成原理(4)-还记得纸带编程吗?

JavaEdge

12月日更

Dubbo3 Triple 协议简介与选型思考

阿里巴巴云原生

阿里云 云原生 dubbo HTTP 协议

Thanos 架构剖析(四)数据存储和运维工具

耳东@Erdong

store tools Thanos 签约计划第二季

【Spring Boot 快速入门】七、Spring Boot集成RabbitMQ

小阿杰

RabbitMQ SpringBoot 2 内容合集 签约计划第二季

你还在一个挨一个的删除镜像文件吗?

liuzhen007

28天写作 12月日更

底层逻辑的生命力

卢卡多多

28天写作 12月日更

阿里云 FaaS 架构设计与创新实践

阿里巴巴云原生

阿里云 Serverless 云原生 Faas

神工鬼斧惟肖惟妙,M1 mac系统深度学习框架Pytorch的二次元动漫动画风格迁移滤镜AnimeGANv2+Ffmpeg(图片+视频)快速实践

刘悦的技术博客

人工智能 机器学习 深度学习 PyTorch 图像处理

对上管理

张老蔫

28天写作

创业研发团队的氛围营造

wood

创业 管理 28天写作

学习源码整体架构系列 | 前端

若川

内容合集 签约计划第二季 技术专题合集

Volatile 原理七:volatile都不保证原子性,为啥我们还要用它

悟空聊架构

volatile 原子性 28天写作 悟空聊架构 12月日更

模块2作业

miliving

和12岁小同志搞创客开发:手撕代码,做一款数字骰子

不脱发的程序猿

少儿编程 DIY 智能硬件 创客开发 Arduino

和12岁小同志搞创客开发:手撕代码,做一款遥控灯

不脱发的程序猿

少儿编程 DIY 智能硬件 创客开发 Arduino

Thanos 架构剖析(二)统一的查询入口

耳东@Erdong

Thanos query 签约计划第二季 Query Frontend

45 K8S之系统扩展CRD/自定义API Server

穿过生命散发芬芳

k8s 28天写作 12月日更

【docker 总结】第三篇 - Container 容器

Brave

,docker 12月日更

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