AI 年度盘点与2025发展趋势展望,50+案例解析亮相AICon 了解详情
写点什么

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

评论

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

如何在小程序中完成支付进件

Towify

微信小程序 编辑器 无代码

前端编程学习有没有必要参加?

小谷哥

行业认可|墨菲安全登信息通信软件供应链安全社区优秀榜单

墨菲安全

【电路设计】避开元器件的这些“坑”,多年的心梗都治好了!

华秋PCB

工具 PCB PCB设计

YonBuilder移动开发平台 AVM框架 封装省市区级联选择弹框

YonBuilder低代码开发平台

开发者 AVM

部分双机热备软件详细介绍-行云管家

行云管家

高可用 双机热备 双机

如何通过 NFTScan 发掘 NFT 项目的内在价值

NFT Research

区块链 NFT

大数据开发技术培训班怎么选

小谷哥

调试3D渲染和3D可视化的五个好处

3DCAT实时渲染

可视化 3D渲染 云渲染 实时渲染

西藏等保测评公司有哪些?共有几家?

行云管家

等保测评 等保测评公司 西藏

建筑、工程和施工产业中的3D可视化

3DCAT实时渲染

可视化 云渲染 实时云渲染 云渲染平台

AI与低代码的结合及应用

力软低代码开发平台

一文读懂于Zebec生态中的潜在收益方式

鳄鱼视界

GitHub标星已达26K+,鹅厂技术总监手写分布式架构体系笔记

小小怪下士

Java 程序员 分布式

Spring中11个最常用的扩展点,你知道几个?

JAVA旭阳

Java spring

前端程序员培训学习需要学多久?

小谷哥

一文带你了解EiPaaS和EiPaaS的国际趋势

华为云开发者联盟

云计算 后端 华为云 12 月 PK 榜

参加java培训对学习程序员有用吗?

小谷哥

“2022混合云TOP50”重磅发布 天翼云问鼎榜首

Geek_2d6073

游戏引擎中的实时渲染和在V-Ray中渲染有什么区别?

3DCAT实时渲染

渲染引擎 游戏引擎 渲染服务 游戏开发引擎

火山引擎DataTester科普:A/B实验常见名词解释

字节跳动数据平台

大数据 AB testing实战 12 月 PK 榜

TDengine与中泰证券正式签约,打造金融量化交易场景解决方案

TDengine

数据库 tdengine 时序数据库

学习大数据培训和自学哪个比较好

小谷哥

阿里二面被问MySQL的事务隔离级别,结果回去等通知了

程序员小毕

MySQL 数据库 程序员 面试 后端

HIFIVE音加加提供曲库、评分、修音功能的K歌SDK-Android版本

数到3变暖男i

API 社交泛娱乐 娱乐社交 K歌 K歌SDK

OSCS开源安全周报第22期:NuGet 仓库中被发现 13.5 万个包含钓鱼地址的组件包

墨菲安全

皮皮App发起爱心捐赠,让城市里的荧荧之光,给乡村孩子带去一片暖冬

联营汇聚

MegEngine Windows Python wheel 包减肥之路

MegEngineBot

深度学习 开源 MegEngine

第五届“强网”拟态防御国际精英挑战赛精彩落幕!——网络空间安全大赛再立新标杆

科技热闻

为什么数字化时代需要 BizDevOps?

阿里云云效

DevOps 数字化转型 数字化 BizDevOps

如何用 7 分钟玩转函数计算?

阿里巴巴云原生

阿里云 Serverless 云原生

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