Java9的基本功能有哪些

本篇內(nèi)容介紹了“Java9的基本功能有哪些”的有關(guān)知識(shí),在實(shí)際案例的操作過程中,不少人都會(huì)遇到這樣的困境,接下來就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細(xì)閱讀,能夠?qū)W有所成!

創(chuàng)新互聯(lián)建站專注于旺蒼網(wǎng)站建設(shè)服務(wù)及定制,我們擁有豐富的企業(yè)做網(wǎng)站經(jīng)驗(yàn)。 熱誠為您提供旺蒼營銷型網(wǎng)站建設(shè),旺蒼網(wǎng)站制作、旺蒼網(wǎng)頁設(shè)計(jì)、旺蒼網(wǎng)站官網(wǎng)定制、微信小程序定制開發(fā)服務(wù),打造旺蒼網(wǎng)絡(luò)公司原創(chuàng)品牌,更為您提供旺蒼網(wǎng)站排名全網(wǎng)營銷落地服務(wù)。

JEP 266改進(jìn)計(jì)劃
JEP 266是Oracle草擬JDK增強(qiáng)協(xié)議里面的一員,其中對并發(fā)進(jìn)行了大量的更新。根據(jù)提案,將要進(jìn)行更新的特性有:

  • 支持Reactive Streams發(fā)布-訂閱框架接口

  • 對CompletableFuture API進(jìn)行更新,例如支持延遲、超時(shí)、子類化和其它方法

  • 其它一般改進(jìn),例如小調(diào)整和javadoc規(guī)范重寫

本文重點(diǎn)關(guān)注前兩個(gè)改進(jìn)。首先,Java 9將支持Reactive  Streams,這是一個(gè)來自Java社區(qū)的改進(jìn)計(jì)劃,旨在改進(jìn)開發(fā)人員的并發(fā)工作流程。其次是CompletableFuture  API提供的幾個(gè)fixer-uppers,可以讓開發(fā)人員回到Future<T>。

Flow類
Reactive Streams發(fā)布-訂閱框架里面將嵌套一個(gè)Flow類,以及開發(fā)人員可以用來創(chuàng)建自定義組件使用的SubmissionPublisher。

先從最上面的說起,Reactive Streams主要解決背壓(back-pressure)問題。當(dāng)傳入的任務(wù)速率大于系統(tǒng)處理能力時(shí),數(shù)據(jù)處理將會(huì)對未處理數(shù)據(jù)產(chǎn)生一個(gè)緩沖區(qū)。

與此同時(shí),我們還與Akka團(tuán)隊(duì)的高級(jí)開發(fā)人員Konrad Malawski進(jìn)行了溝通,他是Reactive Streams計(jì)劃的***,解釋了Reactive Streams的重要性以及如何使用。

Oracle指出,新的增強(qiáng)將包括“一個(gè)很小的接口,其定義符合(來自Reactive Stream initiative的)廣泛參與”,這就是Flow類的來源。

Reactive Streams由4個(gè)Java接口構(gòu)成:

  • 處理器(Processor)

  • 發(fā)布商(Publisher)

  • 訂閱用戶(Subscriber)

  • 訂閱(Subscription)

Flow類允許相互關(guān)聯(lián)的接口和靜態(tài)方法來建立流控制組件,其中發(fā)布者產(chǎn)生由一個(gè)或多個(gè)訂閱者消費(fèi)的項(xiàng)目,每個(gè)訂閱者由訂閱管理。

Reactive  Streams構(gòu)建在java.util.concurrent.Flow容器對象下,開發(fā)者可以在這里找到Flow.Publisher,一個(gè)用作lambda表達(dá)式或方法引用的賦值目標(biāo)功能接口。該接口可以讓開發(fā)者更容易生成Flow.Subscription元素,并且將它們鏈接在一起。

另一個(gè)元素Flow.Subscriber,是異步工作機(jī)制,由請求觸發(fā)。它可以從Flow.Subscription請求多個(gè)元素,開發(fā)者還可以根據(jù)需要自定義緩沖區(qū)大小。

這些接口適用于并發(fā)和分布式異步設(shè)置,它們之間的通信依賴于一種簡單的流控制形式,可用于避免資源管理問題。

感興趣的用戶可以在java.util.concurrent.Flow下面查看代碼示例。

目前已有一些第三方庫實(shí)現(xiàn)了Reactive Streams接口,你無需等到Java 9發(fā)布便可嘗試一下。

CompletableFuture新特性
Java  8引進(jìn)了CompletableFuture,繼承自Future<T>。Futures是非常有用的,當(dāng)我們不希望或者不需要一個(gè)直接計(jì)算結(jié)果的時(shí)候,我們會(huì)收到一個(gè)Future對象來保存計(jì)算完成時(shí)分配的實(shí)際結(jié)果。通過調(diào)用complete()方法并且無需異步等待即可顯式完成。它還允許在一系列操作中構(gòu)建管道數(shù)據(jù)流程。

這樣,任何類型的可用值都可以在Future中使用默認(rèn)返回值,即使計(jì)算沒有完成。這也將成為CompletableFuture提案更新的一部分,包括延遲和超時(shí)、更好地支持子類化和一些實(shí)用方法。“Java9的基本功能有哪些”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識(shí)可以關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實(shí)用文章!

分享名稱:Java9的基本功能有哪些
當(dāng)前網(wǎng)址:http://www.muchs.cn/article38/ghgepp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供用戶體驗(yàn)、網(wǎng)站設(shè)計(jì)、微信小程序、靜態(tài)網(wǎng)站品牌網(wǎng)站設(shè)計(jì)、網(wǎng)站內(nèi)鏈

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

成都app開發(fā)公司