自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Java 9為何讓開發(fā)者如此興奮,來(lái)看看它的這一基本功能!

譯文
云計(jì)算
Java 9即將在2017年7月正式發(fā)布,并提供一份關(guān)于新增和修訂的功能以及一些特性的說明清單。對(duì)JDK增強(qiáng)提議(簡(jiǎn)稱JEP)進(jìn)行搜索時(shí),我們發(fā)現(xiàn)了JEP 266中包含了:對(duì)CompletableFuture進(jìn)行了不少更新,和更新了并發(fā)功能和要支持Reactive Streams機(jī)制相關(guān)的內(nèi)容,這引起了我的注意。

【51CTO.com快譯】Java 9即將在2017年7月正式發(fā)布,并提供一份關(guān)于新增和修訂的功能以及一些特性的說明清單。對(duì)JDK增強(qiáng)提議(簡(jiǎn)稱JEP)進(jìn)行搜索時(shí),我們發(fā)現(xiàn)了JEP 266中包含了:對(duì)CompletableFuture進(jìn)行了不少更新,和更新了并發(fā)功能和要支持Reactive Streams機(jī)制相關(guān)的內(nèi)容,這引起了我的注意。

[[181547]]

在本文中,我們就聊聊JEP 266的新增和修訂的功能吧,并且它很有可能成為Java 9 的特性之一。


1.Java 9將迎來(lái)哪些強(qiáng)化?

作為甲骨文公司起草的JDK增強(qiáng)提議(簡(jiǎn)稱JEP)之一,它包含了很多有趣的更新,目的是用于解決并行機(jī)制相關(guān)的問題。

根據(jù)這份提議,Java 9將迎來(lái)以下變更與更新:

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

  • CompletableFuture API將得到全面改進(jìn),包括支持支持延遲、超時(shí)、子類化和其它方法。

  • 更多小型調(diào)整與javadoc規(guī)范修改。

Java 9為何讓開發(fā)者如此興奮,來(lái)看看它的這一基本功能!

這里我們主要分析兩項(xiàng)核心內(nèi)容。***項(xiàng)內(nèi)容是Java 9將支持Reactive Streams,這個(gè)提議來(lái)自Java技術(shù)社區(qū)提出的改進(jìn)計(jì)劃,目的是改進(jìn)開發(fā)者的并行工作流程。其次是CompletableFuture API的修復(fù)性提升,可以讓開發(fā)者回到Future<T>。

但這些都有怎樣的實(shí)際意義呢?


2.Flow類介紹

***項(xiàng)更新的“各接口支持Reactive Streams發(fā)布的訂閱框架,就是將新的Flow類嵌套進(jìn)去,和可供開發(fā)者用于創(chuàng)建自定義組件的SubmissionPublisher。

讓我們逐一進(jìn)行討論。Reactive Streams能夠解決背壓(back-pressure)難題。當(dāng)輸入任務(wù)速率高于系統(tǒng)的處理能力時(shí),就會(huì)發(fā)生數(shù)據(jù)累積并會(huì)對(duì)未處理數(shù)據(jù)提供一個(gè)緩沖區(qū)。

[[181548]]

就此,我們與Reactive Streams開發(fā)團(tuán)隊(duì)Akka高級(jí)開發(fā)者Konrad Malawski進(jìn)行了交流,他解釋了Reactive Streams 的重要性以及如何使用。

甲骨文方面指出,這項(xiàng)新增強(qiáng)將包含“一套小型接口,用以對(duì)接Reactive Streams項(xiàng)目中各類得到廣泛使用的定義接口。”

而Flow類的作用也正在于此。Reactive Steams由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位于容器對(duì)象java.util.concurrent.Flow之下。大開發(fā)者可以在這里找到 Flow.Publisher,一個(gè)用作 lambda 表達(dá)式或方法引用的賦值目標(biāo)功能接口。此接口將顯著簡(jiǎn)化面向Flow.Subscription的元素生成方式,并由Flow.Subscription將二者關(guān)聯(lián)起來(lái)。

[[181549]]

另一項(xiàng)元素為Flow.Subscriber,是用異步工作機(jī)制運(yùn)作,并能通過請(qǐng)求實(shí)現(xiàn)觸發(fā)。它能能夠從Flow.Subscription處獲取多個(gè)元素,大家可根據(jù)需求自定義緩沖區(qū)大小。

這些接口同時(shí)適用于并發(fā)與分布式異步設(shè)置,且接口之間的通信,是通過一種簡(jiǎn)單的流控制形式實(shí)現(xiàn),并可用于避免發(fā)生資源管理的問題。

感興趣的朋友可以查看關(guān)于java.util.concurrent.Flow的代碼示例。轉(zhuǎn)到此處:http://gee.cs.oswego.edu/dl/concurrency-interest/index.html/

另外,大家也無(wú)需等待Java 9正式發(fā)布即可體驗(yàn)Reactive Streams接口,目前也已經(jīng)在多種第三方庫(kù)采用此類接口。


3.CompletableFuture新特性

Java 8***引入CompletableFuture是,就已經(jīng)對(duì)Future<T>進(jìn)行了擴(kuò)展。Future適用于,當(dāng)我們不希望或者不需要一個(gè)直接計(jì)算結(jié)果的時(shí)候,我們會(huì)收到一個(gè) Future 對(duì)象來(lái)保存計(jì)算完成時(shí)分配的實(shí)際結(jié)果。

Java 9為何讓開發(fā)者如此興奮,來(lái)看看它的這一基本功能!

CompletableFuture對(duì)Future對(duì)象做出兩方面擴(kuò)展。其能夠在無(wú)需任何異步等待的情況下,通過調(diào)用complete()方法即可顯式完成。另外,它還允許利用一系列操作中,構(gòu)建起數(shù)據(jù)處理管道。

如此一來(lái),任意類型的值皆能在 Future 中使用默認(rèn)返回值,即使當(dāng)前計(jì)算尚未完成,它也可使用默認(rèn)即時(shí)結(jié)果。這些更新將能夠有效解決開發(fā)者在使用Java 8時(shí)面臨的部分難題。


總結(jié)

Java 9確實(shí)為我們帶來(lái)一系列重大更新與改進(jìn),其中 JEP 266 會(huì)是最有趣的一部分改進(jìn)。另外,我們認(rèn)為JEP 266,也是甲骨文發(fā)布的最值得關(guān)注的更新之一,因?yàn)槠湓醋约夹g(shù)社區(qū)本身的倡議,旨在幫助開發(fā)者解決異步流程處理中的一些常見難題。我們對(duì)此深表贊賞,同時(shí)也期待著Java 9的正式發(fā)布。

Java 9為何讓開發(fā)者如此興奮,來(lái)看看它的這一基本功能!

 

原文鏈接:https://dzone.com/articles/the-essential-java-9-feature-you-probably-never-he

原文標(biāo)題:The Essential Java 9 Feature You Probably Never Heard Of

作者:Henn Idan

【51CTO譯稿,合作站點(diǎn)轉(zhuǎn)載請(qǐng)注明原文譯者和出處為51CTO.com】

責(zé)任編輯:關(guān)崇 來(lái)源: 51CTO
相關(guān)推薦

2017-01-15 17:15:27

Java基本功能

2014-09-17 10:16:41

Java 9

2010-06-28 21:33:17

eMule協(xié)議

2012-10-22 16:47:45

IBMdw

2020-10-19 10:16:02

AWSDynamoDB功能

2010-04-16 09:06:18

WPF 4

2019-04-16 08:21:46

2010-01-05 15:27:04

.NET Framew

2010-03-02 17:43:31

WCF框架處理流程

2019-09-16 08:22:12

特權(quán)訪問管理PAM網(wǎng)絡(luò)安全

2021-06-03 09:20:33

微服務(wù)架構(gòu)代碼

2011-04-29 14:04:56

一體機(jī)

2015-07-07 14:17:56

物聯(lián)網(wǎng)操作系統(tǒng)

2023-05-11 08:59:43

Nginx配置服務(wù)器

2010-01-20 18:20:50

2010-01-04 10:47:08

智能交換機(jī)

2018-12-19 12:23:24

復(fù)制粘貼WordIBM

2009-12-03 09:08:21

路由器基本功能

2009-12-03 14:10:22

路由器基本功能

2010-08-17 09:01:39

jQueryAPI
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)