Java近期新闻:Hibernate Reactive 1.0、Spring、OpenJDK、Cryostat 2.0

{"type":"doc","content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"2021年10月25日起始周Java新闻更新:OpenJDK、JDK 18、多个Spring项目更新、MicroStream 6.0、Quarkus 2.4.0、Hibernate Reactive 1.0、Open Liberty 21.0.0.11、Eclipse Vert.x 4.2.0、Red Hat引入Cryostat 2.0、GraalVM原生构建工具0.9.7.1、Liberica Native Image Kit 21.3和JDKMon 17.0.7。"}]},{"type":"heading","attrs":{"align":null,"level":2},"content":[{"type":"text","text":"OpenJDK"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"link","attrs":{"href":"https:\/\/openjdk.java.net\/jeps\/416","title":null,"type":null},"content":[{"type":"text","text":"JEP 416"}]},{"type":"text","text":"(即通过方法句柄重新实现代码反射)经过最终评审之后,从Proposed进入了Target阶段。该JEP是关于基于java.lang.invoke中所定义的方法句柄重新实现java.lang.reflect中的类,如Method、Constructor和Field。这些方法句柄现在可以作为一种反射机制,降低这两个包的维护和开发成本。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"link","attrs":{"href":"https:\/\/openjdk.java.net\/jeps\/418","title":null,"type":null},"content":[{"type":"text","text":"JEP 418"}]},{"type":"text","text":"(即网络地址解析SPI)从Candidate进入Proposed to Target阶段。该JEP是关于为主机名和主机地址解析提供SPI接口,这样java.net.InetAddress就可以使用外部的解析器,而不只依赖于OpenJDK内置的解析器。JEP418的评审将在2021年11月4号结束。"}]},{"type":"heading","attrs":{"align":null,"level":2},"content":[{"type":"text","text":"JDK 18"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"JDK 18尝鲜构建版本"},{"type":"link","attrs":{"href":"https:\/\/github.com\/openjdk\/jdk\/releases\/tag\/jdk-18%2B21","title":null,"type":null},"content":[{"type":"text","text":"Build 21"}]},{"type":"text","text":"可用,相比Build 20,这次的主要更新包括对各种问题的修复。更多细节可参看版本"},{"type":"link","attrs":{"href":"https:\/\/jdk.java.net\/18\/release-notes","title":null,"type":null},"content":[{"type":"text","text":"公告"}]},{"type":"text","text":"。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"JDK 18目前的特性集合如下:"}]},{"type":"bulletedlist","content":[{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"JEP 400:"},{"type":"link","attrs":{"href":"https:\/\/openjdk.java.net\/jeps\/400","title":null,"type":null},"content":[{"type":"text","text":"默认字符集为UTF-8"}]},{"type":"text","text":";"}]}]},{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"JEP 408:"},{"type":"link","attrs":{"href":"https:\/\/openjdk.java.net\/jeps\/408","title":null,"type":null},"content":[{"type":"text","text":"Simple Web Server"}]},{"type":"text","text":";"}]}]},{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"JEP 413:"},{"type":"link","attrs":{"href":"https:\/\/openjdk.java.net\/jeps\/413","title":null,"type":null},"content":[{"type":"text","text":"Java API文档中加入了代码片段"}]},{"type":"text","text":";"}]}]},{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"JEP 416:"},{"type":"link","attrs":{"href":"https:\/\/openjdk.java.net\/jeps\/416","title":null,"type":null},"content":[{"type":"text","text":"通过方法句柄重新实现代码反射"}]},{"type":"text","text":";"}]}]},{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"JEP 417:"},{"type":"link","attrs":{"href":"https:\/\/openjdk.java.net\/jeps\/417","title":null,"type":null},"content":[{"type":"text","text":"Vector API(第三个孵化器)"}]},{"type":"text","text":";"}]}]},{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"JEP 418:"},{"type":"link","attrs":{"href":"https:\/\/openjdk.java.net\/jeps\/418","title":null,"type":null},"content":[{"type":"text","text":"网路地址解析SPI"}]},{"type":"text","text":"(Proposed to Target阶段)。"}]}]}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"开发者可以通过"},{"type":"link","attrs":{"href":"https:\/\/bugreport.java.com\/bugreport\/","title":null,"type":null},"content":[{"type":"text","text":"Java Bug Database"}]},{"type":"text","text":"提交bug。"}]},{"type":"heading","attrs":{"align":null,"level":2},"content":[{"type":"text","text":"Spring框架"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"对于Spring来说,过去又是繁忙的一周。Spring的多个项目都发布了单点版本。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"根据"},{"type":"link","attrs":{"href":"https:\/\/spring.io\/blog\/2021\/10\/26\/security-reports-for-spring-framework-spring-data-rest-spring-amqp-and-spring-cloud-openfeign","title":null,"type":null},"content":[{"type":"text","text":"报告"}]},{"type":"text","text":",Spring Boot 2.5.6和2.4.12修复了一些安全漏洞,分别与Spring Framework(CVE-2021-22096)、Spring Data REST(CVE-2021-22047)和Spring AMQP(CVE-2021-22097)有关。Spring Cloud OpenFeign 2.2.10.RELEASE、3.0.5和3.1.0-M4修复了第4个漏洞CVE-2021-22044。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"用于Eclipse的Spring Tools 4.12.1支持JDK 17的尝鲜版(为Eclipse 2021-12和ARM M1平台构建的版本)。更多细节可参看版本"},{"type":"link","attrs":{"href":"https:\/\/github.com\/spring-projects\/sts4\/wiki\/Changelog#2021-10-27-4121-release-no-language-server-updates","title":null,"type":null},"content":[{"type":"text","text":"公告"}]},{"type":"text","text":"。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"Spring Graph 1.0.0的"},{"type":"link","attrs":{"href":"https:\/\/spring.io\/blog\/2021\/10\/28\/spring-graphql-1-0-0-m3-released","title":null,"type":null},"content":[{"type":"text","text":"第三个里程碑版本"}]},{"type":"text","text":"已发布。新版本引入了@BatchMapping注解,以改进对批处理的支持。其他的新特性包括:改进对Querydsl的支持、TypeResolver接口默认实现、借助Spring的DataBinder类来解析输入参数。更多细节可参看"},{"type":"link","attrs":{"href":"https:\/\/github.com\/spring-projects\/spring-graphql\/milestone\/4?closed=1","title":null,"type":null},"content":[{"type":"text","text":"问题清单"}]},{"type":"text","text":"。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"最近发布的Spring 2021年状态"},{"type":"link","attrs":{"href":"https:\/\/tanzu.vmware.com\/content\/ebooks\/the-state-of-spring-2021","title":null,"type":null},"content":[{"type":"text","text":"报告"}]},{"type":"text","text":"显示,Spring Cloud Kubernetes的一些新特性被包含在Spring Cloud 2021.0.0的"},{"type":"link","attrs":{"href":"https:\/\/spring.io\/blog\/2021\/10\/20\/spring-cloud-2021-0-0-m3-codename-jubilee-has-been-released","title":null,"type":null},"content":[{"type":"text","text":"第三个里程碑版本"}]},{"type":"text","text":"中,包括对服务发现和配置管理的支持。Spring Cloud 2021.0.0-M3引入了一个新的发现服务器,可以“使用Kubernetes API来获取Kubernetes服务和端点,为应用程序提供有关服务的信息”。"}]},{"type":"heading","attrs":{"align":null,"level":2},"content":[{"type":"text","text":"MicroStream"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"MicroStream发布了"},{"type":"link","attrs":{"href":"https:\/\/microstream.one\/resources\/blog\/article\/microstream-6-is-now-available\/","title":null,"type":null},"content":[{"type":"text","text":"6.0版本"}]},{"type":"text","text":",新版本集成了Helidon,提供了一个Spring Boot配置层、用于JDK 17集合对象(通过List.of()和Set.of()创建)的类型处理器、一个新的工具类ObjectCopier,用于深度拷贝对象图。"}]},{"type":"heading","attrs":{"align":null,"level":2},"content":[{"type":"text","text":"Hibernate"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"Hibernate发布了Hibernate Reactive "},{"type":"link","attrs":{"href":"https:\/\/in.relation.to\/2021\/10\/27\/hibernate-reactive-1\/","title":null,"type":null},"content":[{"type":"text","text":"1.0.0.Final"}]},{"type":"text","text":",与Quarkus全面集成。Hibernate Reactive是在2020年12月份首次推出的,使用了Vert.x非阻塞SQL客户端库,支持PostgreSQL、MySQL、MariaDB、Db2、SQL Server和CockroachDB。"}]},{"type":"heading","attrs":{"align":null,"level":2},"content":[{"type":"text","text":"Open Liberty"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"IBM发布Open Liberty "},{"type":"link","attrs":{"href":"https:\/\/openliberty.io\/blog\/2021\/10\/29\/kube-secrets-210011.html","title":null,"type":null},"content":[{"type":"text","text":"21.0.0.11"}]},{"type":"text","text":",相比Beta版,增加了一些新特性,包括:使用FeatureUtility命令行工具将用户特性安装到Open Liberty运行时;将Kubernetes秘钥作为Open Liberty的配置变量;为外围端口(传输层的一个通信端点)提供一个新的HTTP访问日志格式选项。"}]},{"type":"heading","attrs":{"align":null,"level":2},"content":[{"type":"text","text":"Quarkus"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"Red Hat发布了Quarkus "},{"type":"link","attrs":{"href":"https:\/\/quarkus.io\/blog\/quarkus-2-4-0-final-released\/","title":null,"type":null},"content":[{"type":"text","text":"2.4.0.Final"}]},{"type":"text","text":",特性包括:将依赖项Hibernate Reactive升级到1.0.0.Final;Quarkus DevUI支持"},{"type":"link","attrs":{"href":"https:\/\/user-images.githubusercontent.com\/593564\/136768958-9a66c25b-c3fa-4a6c-9211-8cedd845eb55.png","title":null,"type":null},"content":[{"type":"text","text":"Kafka流式拓扑"}]},{"type":"text","text":";与多模块项目进行持续测试;新的quarkus-awt扩展,支持Abstract Window Toolkit (AWT)和Java2D。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"用于IntelliJ的"},{"type":"link","attrs":{"href":"https:\/\/plugins.jetbrains.com\/plugin\/13234-quarkus-tools\/","title":null,"type":null},"content":[{"type":"text","text":"Quarkus Tools"}]},{"type":"text","text":"发布1.8.0版本,支持CodeLens功能(REST端点),并做了MicroProfile "},{"type":"link","attrs":{"href":"https:\/\/github.com\/eclipse\/microprofile-fault-tolerance\/blob\/master\/README.adoc","title":null,"type":null},"content":[{"type":"text","text":"Fault Tolerance"}]},{"type":"text","text":"和"},{"type":"link","attrs":{"href":"https:\/\/github.com\/eclipse\/microprofile-metrics\/blob\/master\/README.adoc","title":null,"type":null},"content":[{"type":"text","text":"Metrics"}]},{"type":"text","text":"规范方面的增强。"}]},{"type":"heading","attrs":{"align":null,"level":2},"content":[{"type":"text","text":"Eclipse Vert.x"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"Eclipse Vert.x "},{"type":"link","attrs":{"href":"https:\/\/vertx.io\/blog\/eclipse-vert-x-4-2-0\/","title":null,"type":null},"content":[{"type":"text","text":"4.2.0"}]},{"type":"text","text":"发布,支持JDK 17,增强了反应式SQL客户端、Web客户端和认证客户端。Reactive Oracle Client也被作为数据库客户端加入到Vert.x套件中。更多细节可以在版本"},{"type":"link","attrs":{"href":"https:\/\/github.com\/vert-x3\/wiki\/wiki\/4.2.0-Release-Notes","title":null,"type":null},"content":[{"type":"text","text":"公告"}]},{"type":"text","text":"中找到,官方"},{"type":"link","attrs":{"href":"https:\/\/github.com\/vert-x3\/wiki\/wiki\/4.2.0-Deprecations-and-breaking-changes","title":null,"type":null},"content":[{"type":"text","text":"文档"}]},{"type":"text","text":"包含了弃用内容和重大变更描述。"}]},{"type":"heading","attrs":{"align":null,"level":2},"content":[{"type":"text","text":"Cryostat"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"Red Hat推出了一个新的容器原生JVM应用程序"},{"type":"link","attrs":{"href":"https:\/\/github.com\/cryostatio\/cryostat\/blob\/main\/README.md","title":null,"type":null},"content":[{"type":"text","text":"Cryostat 2.0"}]},{"type":"text","text":",基于JDK Flight Recorder(JFR)提供了一个安全的用于分析和监控容器的API。Cryostat可以获取、保存和分析容器化JVM的记录,以此来评估应用程序的整体健康状况。JFR记录的内容可以上传到JDK任务控制中心或者Grafana,用于进一步的分析。这篇"},{"type":"link","attrs":{"href":"https:\/\/developers.redhat.com\/blog\/2021\/01\/25\/introduction-to-containerjfr-jdk-flight-recorder-for-containers","title":null,"type":null},"content":[{"type":"text","text":"博文"}]},{"type":"text","text":"对Cryostat进行了详细的介绍。"}]},{"type":"heading","attrs":{"align":null,"level":2},"content":[{"type":"text","text":"GraalVM原生构建工具"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"Oracle实验室发布了GraalVM原生构建工具的"},{"type":"link","attrs":{"href":"https:\/\/github.com\/graalvm\/native-build-tools\/releases\/tag\/0.9.7.1","title":null,"type":null},"content":[{"type":"text","text":"0.9.7.1"}]},{"type":"text","text":"版本,一个用于操作GraalVM原生镜像的插件。这是一个问题修复版本,解决了在使用Maven插件进行多项目构建时出现的测试执行问题。"}]},{"type":"heading","attrs":{"align":null,"level":2},"content":[{"type":"text","text":"Liberica原生镜像工具"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"BellSoft发布了Liberica原生镜像工具(NIK)"},{"type":"link","attrs":{"href":"https:\/\/bell-sw.com\/announcements\/2021\/10\/22\/the-new-liberica-native-image-kit-21-3-based-on-liberica-17-and-11-is-out\/","title":null,"type":null},"content":[{"type":"text","text":"21.3"}]},{"type":"text","text":"版本,GraalVM的一个下游发行版。该版本基于Liberica JDK 17和JDK 11构建,新特性包括:对JPMS的初始支持;在分析期间配置反射和JNI配置文件,以便得到体积更小的原生镜像;一个新的自适应垃圾回收策略,以便获得更好的垃圾回收性能;该工具现在可以读取命令行参数。"}]},{"type":"heading","attrs":{"align":null,"level":2},"content":[{"type":"text","text":"JDKMon"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"JDKMon,一个用于监控和更新JDK的工具,向Java社区发布了"},{"type":"link","attrs":{"href":"https:\/\/github.com\/HanSolo\/JDKMon\/releases\/tag\/17.0.7","title":null,"type":null},"content":[{"type":"text","text":"最新版本"}]},{"type":"text","text":"。它由Azul的首席工程师Gerrit Grunwald创建,最新版本为17.0.7,特性包括:支持"},{"type":"link","attrs":{"href":"https:\/\/gitee.com\/openeuler\/bishengjdk-8\/blob\/master\/README.en.md","title":null,"type":null},"content":[{"type":"text","text":"华为毕昇JDK"}]},{"type":"text","text":"、"},{"type":"link","attrs":{"href":"https:\/\/github.com\/Tencent\/TencentKona-8\/blob\/master\/README.md","title":null,"type":null},"content":[{"type":"text","text":"腾讯Kona JDK"}]},{"type":"text","text":"和IBM Semeru运行时Certified版本。其依赖项JavaFX升级到17.0.1,还更新了其他一些插件和UI。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"strong"}],"text":"原文链接"},{"type":"text","text":":"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"link","attrs":{"href":"https:\/\/www.infoq.com\/news\/2021\/11\/java-news-roundup-oct25-2021\/","title":null,"type":null},"content":[{"type":"text","text":"Java News Roundup: Hibernate Reactive 1.0, Spring Updates, OpenJDK, Red Hat Introduces Cryostat 2.0"}]}]}]}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章