Java 近闻:JDK 20、新的 JEP 草案、JobRunr 6.0、GraalVM 22.3.1
来源|InfoQ、作者 | Michael Redlich
译者 | 明知山、策划 | 丁晓昀
OpenJDK
Oracle Java 语言和工具团队主要成员 Angelos Bimpoudis更新 了 JEP Draft 8288476(模式、instanceof 和 switch 中的原始类型)。该草案属于 Amber 项目,提议允许原始类型出现在模式中的任何地方,以此来增强模式匹配。
Oracle Java 语言和 Java 虚拟机规范负责人 Alex Buckley 更新了 JEP Draft 8300684(预览特性:一个向后,一个向前)。该草案建议重新评审 JEP 12(预览特性)引入的预览过程,以便对该过程进行潜在的持续改进。
Oracle 技术团队主要成员 Wang Jun更新 了 JEP Draft 8301034(Key Encapsulation Mechanism API),这个 JEP 建议:满足标准 密钥封装机制(KEM)算法的实现,通过更高级别的安全协议满足 KEM 用例,允许可插拔的 KEM 算法 Java 或本地实现。
PatientEXP 创始人兼首席执行官 Archie Cobbs 更新了 JEP Draft 8300786(不再要求构造函数中先出现 super() 和 this())。该草案同样属于 Amber 项目,建议:允许没有引用正在创建的实例的语句出现在构造函数的 this() 或 super() 调用之前,并保留构造函数现有的安全性和初始化保证。
JDK 20
根据 JDK 20 的 发布计划,Oracle Java 平台组首席架构师 Mark Reinhold 正式 宣布JDK 20 已进入 Rampdown Phase Two,这标志着将于 2023 年 3 月发布的 GA 版本持续稳定。关键的错误,如回归或严重的功能问题,可以被修复,但必须通过 Fix-Request 流程批准。
JDK 20 的最后 6 个特性包括:
JEP 429:作用域值(孵化器); JEP 432:记录模式(第二次预览); JEP 433:switch 的模式匹配(第四次预览); JEP 434:外部函数和内存 API(第二次预览); JEP 436:虚拟线程(第二次预览); JEP 437:结构化并发(第二轮孵化器)。
JDK 20早期访问版本的 Build 33 已于上周发布,其中包括针对 Build 32 的 更新 和对各种问题的修复。关于这个版本的更多细节可以在 发布说明 中找到。
JDK 21
JDK 21早期访问版本 的 Build 7 也在上周可用,其中包括对 Build 6 的 更新 和各种 问题 的修复。关于这个版本的更多细节可以在 发布说明 中找到。
对于 JDK 20 和 JDK 21,开发者可以向 Java Bug 数据库 报告 Bug。
GraalVM
Oracle发布 了 GraalVM 22.3.1 社区版,与 2023 年 1 月版的 Oracle 关键补丁更新公告 保持一致。这个版本包括 OpenJDK 19.0.2、17.0.6 和 11.0.18 的版本更新,以及 Node.js 16.18.1 的版本更新。关于这个版本的更多细节可以在 发布说明 中找到。
我们创建了一个高质量的技术交流群,与优秀的人在一起,自己也会优秀起来,赶紧点击加群,享受一起成长的快乐。
TornadoVM
开源软件技术公司 TornadoVM 发布了 TornadoVM 0.15,该版本提供了一个新的 TornadoVM API,还有其他一些改进:将 TaskSchedule 类重命名为 TaskGraph,添加新的类 ImmutableTaskGraph 和 TornadoExecutionPlan 来优化运行一组不可变任务图的执行计划。该版本还包含了一个改进的 TornadoVM Linux 安装程序、一个改进的带可选参数的 TornadoVM 启动脚本和一个新的文档 站点。
曼彻斯特大学高级处理器技术研究小组副研究员 Juan Fumero 于 2020 年 3 月在 伦敦 QCon 上 介绍 了 TornadoVM,并在此后分享了这篇最新的 InfoQ技术文章。
Spring Framework
Spring Cloud Azure 5.0发布,支持 Spring Boot 3.0 和 Spring Cloud 2022.0.0,提高 无密码连接 的安全性,并重新设计了 Spring Cloud Azure文档。该版本还包括对一些已弃用 API 的 升级。
Spring Shell 3.0.0 和 2.1.6 版本已 发布,分别与 Spring Boot 3.0.2 和 2.7.8 兼容,修复了反向移植错误,改进了对位置参数和集合类型的处理。关于这些版本的更多详细信息,可以在 3.0.0 和 2.1.6 版本的发布说明中找到。
Spring Cloud 2022.0.1(代号 Kilburn)已 发布,随之发布的还有 Spring Cloud 子项目(如 Spring Cloud Function、Spring Cloud Commons 和 Spring Cloud Gateway)的相应小版本。这个版本与 Spring Boot 3.0.2 兼容。关于这个版本的更多细节可以在 发布说明 中找到。
Quarkus
Quarkus 2.16.0.Final发布,提供的新特性包括:支持 Redis 扩展中的时间序列操作和数据预加载;支持 gRPC 扩展中的自定义异常处理和 xDS;提高了缓存扩展的配置灵活性;一些主要为了改善开发者体验的安全相关改进。关于这个版本的更多细节可以在 变更日志 中找到。
Quarkus 3.0.0 的 第三个 alpha 版本 包含了 Jakarta EE 10 流的第三个迭代:包括 2.15.0.Final、2.15.1.Final、2.15.2.Final、2.15.3.Final 和 2.16.0.Final 的一系列改进;使用了 SmallRye Mutiny 2.0 和 Java Flow API;Quarkus 类加载器对 Kotlin 的简化处理,方便基于 Kotlin 的 Quarkus 扩展的开发。关于这个版本的更多细节可以在 发布说明 中找到。
Micronaut
Micronaut 基金会 发布 了 Micronaut 3.8.3,修复了一些 Bug 并更新了一些模块:Micronaut OpenAPI 和 Micronaut Oracle Cloud。关于这个版本的更多细节可以在 发布说明 中找到。
JobRunr
在经历了三个里程碑版本之后,JobRunr 6.0(一个在 Java 中执行后台处理任务的辅助程序)已经向 Java 社区 发布 了。新的功能和改进包括:支持 Spring Boot 3.0;提供的 Job Builers API 基于构建器模式来配置 Job 类,可以不使用 @Job 注解;被分配了 Job Labels 的作业将在仪表盘中可见;允许在一个应用程序中使用带有不同表前缀的多个 JobScheduler 类的实例;更新了所有可传递依赖项;提升了性能和稳定性。关于这个版本的更多细节可以在 发布说明 中找到。
MicroStream
MicroStream提供 了其 Java 原生对象图持久化层的 8.0 预览版。这个 第二个早期访问版本 的特性包括:迁移到 JDK 11 并继续支持 JDK 8;只读模式,多个进程可以访问同一个存储;ArrayList、HashMap 和 HashSet 的实验性实现,采用了共享机制;改进了与 Spring Boot 和 Quarkus 的集成。
Hibernate
Hibernate ORM 6.2 的 第二个候选版本 根据 Java 社区对 Hibernate ORM 6.2第一个候选版本 的反馈进行了许多错误修复。因此,SQL 抽象语法树(用于 Hibernate 查询语言的基于 ANTLR 的解析器)已经稳定下来,SQL MERGE 命令现在可以处理对可选表的更新。
我们创建了一个高质量的技术交流群,与优秀的人在一起,自己也会优秀起来,赶紧点击加群,享受一起成长的快乐。
Apache 软件基金会
Apache Tomcat 10.1.5 已经 发布,一些显著的变化包括:修复了重构导致的回归问题(替换了对 URL 构造函数的使用);使用 HTTP/2 错误码 NO_ERROR,这样客户端在重置 HTTP/2 流时不会丢弃响应;将 系统属性GET_CLASSLOADER_USE_PRIVILEGED 的默认值更改为 true,除非在 Tomcat 中运行了 Expression Language 库。关于这个版本的更多细节可以在 变更日志 中找到。
Apache Groovy 4.0.8 已 发布,包含了错误修复和增强,例如:改进了 Groovy 断言语句的 JaCoCo 行代码覆盖率;引入 findAll() 和 findResults() 方法的变体,可接受可选的收集器参数。关于这个版本的更多细节可以在 变更日志 中找到。
类似地,Apache Groovy 2.5.21 也已 发布,包含了 Bug 修复和依赖项 ASM 9.4 的升级。关于这个版本的更多细节可以在 变更日志 中找到。
Camel Quarkus 2.16.0 已 发布,与 Camel 3.20.1 和 Quarkus 2.16.0.Final 保持一致。它提供了对四种 DSL 的支持:JavaShell、Kotlin、Groovy 和 jOOR。关于这个版本的更多细节可以在 发布说明 中找到。
JDKMon
由 Azul 首席工程师 Gerrit Grunwald 创建的 JDK 监控和更新工具 JDKMon 发布了 17.0.45 版本,修复了与下载对话框相关的问题。
Foojay.io 将参加 FOSDEM 2023 大会
OpenJDK 的朋友,Foojay.io,Java 生态系统的社区平台 宣布 将在 2023 年 2 月 4 日至 5 日(周六至周日)举行的 FOSDEM 2023 大会上开辟自己的 开发者交流空间。
FOSDEM 是一个由志愿者组织的为期两天的活动,旨在促进免费和开源软件的采用,它将提供一些渠道和由其他组织和社区组织的开发者空间(也就是 devrooms)供开发者交流。
原文链接:https://www.infoq.com/news/2023/01/java-news-roundup-jan02-2023/
相关阅读
Java 近期新闻:Spring Cloud 2022.0.0、SourceBuddy、Jarviz 和 Just(https://www.infoq.cn/article/wAHZc2d8AYKScTgeM3Av)
Java 近期新闻:Ideal Graph Visualizer 开源、TomEE MicroProfile 5.0 认证 (https://www.infoq.cn/article/vrFf9KauwxZ4bqWr454P)
Spring Batch 5.0 发布,使用 JDK 17 作为基线版本并支持原生 Java(https://www.infoq.cn/article/5GyCp1rm0IyPIfRoDyjQ)
推荐阅读
你好,我是程序猿DD,10年开发老司机、阿里云MVP、腾讯云TVP、出过书创过业、国企4年互联网6年。从普通开发到架构师、再到合伙人。一路过来,给我最深的感受就是一定要不断学习并关注前沿。只要你能坚持下来,多思考、少抱怨、勤动手,就很容易实现弯道超车!所以,不要问我现在干什么是否来得及。如果你看好一个事情,一定是坚持了才能看到希望,而不是看到希望才去坚持。相信我,只要坚持下来,你一定比现在更好!如果你还没什么方向,可以先关注我,这里会经常分享一些前沿资讯,帮你积累弯道超车的资本。