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"}]}]}]}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章